手机游戏(网游)SDK集成常见问题

退出游戏提示游戏已经终止运行,但是可以正常退出

在非 UI 线程里调用 SDK 的函数出现如下异常如何处理:

sdk001

 

SDK002

我登陆的时候是用QQ第三方授权登陆的,为什么那个账号管理界面显示的账号显 示一个手机号码

第三方登录,仅仅是我们的一个登录手段,最终三方帐号是会和一个 LenovoID 帐号绑定,显示的是绑定后的 LenovoID 帐号,不会显示三方帐号的

客户端获得的token#0701#

SDK在安卓2.3以下适配的话需要配置游戏的白名单,请向讨论组的“技术支持-小边”要抓密钥的工具,生成密钥交给小边,配置白名单

服务器验证token的时候报USS-0540USS-0121

USS-0540: 无效的token

1,请确认获得token的realm是不是和链接的realm参数一致(也就是Manifest中配置的realm是否和链接中的realm一致)

2,是不是服务端对token的长度做了限制(建议别对Token的长度做限制,因为后续Token的长度可能还会增加)

3,是否安装了用户框架,不安装用户框架,获取的Token比较老,可能验证不过

USS-0121: 无效的realm 如果是用刚刚申请的realm的话,可能是realm还未生效(一般12个小时生效)

为什么有的联想帐号可以登录游戏,有的不可以登录游戏

看联想帐号是否是激活帐号,然后看游戏的服务端是否逻辑成不激活的帐号可以登录游戏,服务端验证Token的时候,返回的xml中,verified字段代表激活,0:未激活,1:已激活

SDK默认是不激活的帐号可以登录SDK,我们也建议游戏服务端设计程不激活的帐号也可以登录游戏,由玩家后续根据SDK的提示一步步的激活帐号,体验比较好

如何获取UID

请参考本文档“服务器验证token”,把 token上传到自己的服务器,然后服务器访问 Lenovo ID 的服务端 token 验证接口来获取 UserID

一定要在Manifest配置realm

是的,必须通过 meta-data 配置 realm,不然会抛出 RunTimeException

如果你是flash air的游戏,接入中注意以下几点

1,flash air的游戏无法修改主Activity入口,所以为了弹出安装用户框架,我们提供了初始化LenovoGameSdk.init接口
注: LenovoGameSdk.init要在游戏初始化的位置调用,并且要调用完LenovoGameSdk.init才能调用quicklogin,不能同步进行

2,需要关注的接口: 初始化LenovoGameSdk.init,快速登录quicklogin,登出回调 setLogoutFinishListener,普通登录getStData
3,Manifest中不用配置WelcomeActivity和联想的主Activity入口(lenovoid.main),用游戏自己的主Activity入口
4,请参考《如果你是原生安卓系统的游戏,接入中请注意以下几点》的3
5,请参考《如果你是原生安卓系统的游戏,接入中请注意以下几点》的4

如果你是原生安卓系统的游戏,接入中请注意以下几点

1,你们需要关注的接口有:自动登录quicklogin,登出回调setLogoutFinishListener,普通登录getStData

sdk003

注:上图就是在执行quicklogin的流程,到最后quicklogin登录成功,quicklogin没有登录界面只有类似上图中的悬浮框,如果玩家手机号不是联想帐号,会自动注册为联想帐号,所以还会有一个自动发短信的过程(每个手机号每天最多调用10次quicklogin)

2,在Manifest中要配置WelcomeActivity欢迎页和联想的主Activity入口(lenovoid.main)代替游戏的主Activity入口,为了弹出安装用户框架

SDK004

3,切换帐号:为了正确的切换帐号,我们提供了登出回调,请在 登出回调中调用getStData普通登录弹出登录界面,从而达到切换帐号的目的

SDK005

4,如果你们是用2.0.3版本的SDK或者以下的版本,请删除支付资源文件pay_proxy_res  lib下的x86文件夹,可以解决游戏在英特尔机器K900上的问题(2.0.4版本的SDK会去掉文件夹)

sdk006

请删除途中标红的文件夹

接入中要参考的文档

登录SDK请参考 Lenovo ID for android 应用开发指南(游戏版).pdf
支付请参考 联想微支付平台Android SDK使用文档_V3.3.5.pdf 联想微支付平台商户接入文档_V3.3.5.pdf