查看: 8115|回复: 2

【网游SDK接入】客户端接口(常见问题FAQ)

[复制链接]

61

主题

0

魅力

3万

经验

网游运维

发表于 2016-1-12 17:07:56 |显示全部楼层
本帖最后由 106563120 于 2017-1-24 10:42 编辑

客户端接口(常见问题FAQ)--内容较长,建议搜索关键字查找


1)DEMO导入后运行不了报libsdk_bspatch.so找不到
编译时需要将Eclipse-Preferences-Android-Build-Force error when external jars contain native libraries这里的勾去掉

图片2.png

PS:如果你用的是ADT集成,找不到上面的路径,请尝试到这里查找
图片1.png



1、初始化(initSDK)
1)初始化接口在哪里调用
建议初始化接口放在游戏启动后直接调用

2)初始化接口传递的cpid\gameId\serverId\serverName在哪里获取
gameId:在开放平台-SDK接入那里获取
cpid、serverId:参数已废丢,请注释掉或传0,注意:serverId不可传其它参数,会影响充值
serverName:传空或不用传

3)客户端如何切换为正式/测试环境
初始化initSDK接口里传递的debugMode参数,true:测试环境,false:正式环境
详见论坛说明:http://bbs.9game.cn/thread-3183711-1-8.html

4)初始化过程中出现ucgameconfig.ini无法找到的错误
该错误日志是警告提示,SDK上线需要修改的文件,没有任何影响,可以忽略

5)初始化过程中提示“网络无响应”
请检查当前手机网络是否正常,切换网络测试看看,如果网络正常但无法初始化,请联系技术接口人处理

6)初始化失败,提示“code:10,游戏信息配置错误”
请检查传递的gameId参数是否为九游开放平台提供的游戏参数

7)初始化失败,提示“code:-100”
请检查下logcat运行时报异常的日志,tag:”UCGameSDK”可能原因是以下几种:
1、手机内存空间不足,SDK运行需要大约2M空间
2、如果报错指出entry.xml文件找不到,需要将UCGameSDK-x.x.x.jar解压后,将里面的assets\ucgamesdk目录放到游戏工程的assets下(注意是assets下,不是Assets)
3、如果报网络异常,请检查手机当前访问网络是否有异常
4、检测使用的gameID是否为九游开放平台提供的游戏参数

8)初始化失败,提示“SdkActivity`onCreate`不能获取入口实例,需要重新初始化”
请检查下logcat运行时报异常的日志,可能原因是以下几种:
1、initSDK接口同时调用多次,或接口调用过程中又再次调用,如初始化失败,请在收到回调后再重新调用
2、清除下缓存数据,再重启游戏试试

9)Unity3d游戏初始化执行后游戏黑屏,过几秒才正常
Unity3d游戏启动时直接调用SDK初始化可能会出现unity3D跟activity冲突,如果出现黑屏执行时间长的话,建议将initSDK接口放在unity启动完成到加载游戏界面后再调

10)首次初始化只看到四个“...”,看不到logo
此为正常现象,SDK设计如此,请游戏忽略这问题

11)如何查看当前接入的SDK版本
可以用以下几种方法查看
1、检查导入的sdk Jar包,jar包名上有写明,如“UCGameSDK-3.5.3.1.jar”,则为3.5.3.1版本
2、检查初始化的日志,TAG”UCGameSDK”,system.config内带有”ve”字段,即版本
3、SDK4.X以下,在登录界面-忘记密码,下方有显示版本号
SDK4.X以上,在初始化启动页右下角有显示版本号

2、登录(login)
1) 登录失败,提示“code:10,游戏信息配置错误”
请检查传递的gameId参数是否为九游开放平台提供的游戏参数

2)调用登录接口后,登录界面不显示
初始化前请设置LogLevel为:DEBUG并查下logcat运行时报异常的日志,可能原因是以下几种:
1、日志如有“LoginFacade`login`aborted: already in prompting”信息,说明login接口未执行完就再次调用,故无法调用成功
2、日志如有类似说明权限的,请检查游戏配置的manifest 权限是否已全部添加SDK接入文档要求的
3、日志如有类似说明线程问题,请检查登录接口是否在UI线程调用,要求放UI线程调用

3)调用登录接口后,获取的sid为空
初始化前请设置LogLevel为:DEBUG并查下logcat运行时报异常的日志,可能原因是以下几种:
1、日志如有“LoginFacade`login`aborted: already in prompting”信息,说明login接口未执行完就再次调用,或在login_exit(
code:-600)回调重新调了login接口,导致登录状态丢失,故无法获取sid
2、SDK3.5.3.1可能出现登录后sid为空,可联系技术接口人获取最的SDK,或忽略这类问题,游戏上线时SDK会替换新版本

(login_exit code:-600)回调有疑问,查看上面登录接口常见问题有说明

4)调用登录接口后,游戏闪退
请检查下logcat运行时报异常的日志,可能原因是以下几种:
1、日志如有类似说明权限的,请检查游戏配置的manifest 权限是否已全部添加SDK接入文档要求的
2、日志如有类似说明线程问题,请检查登录接口是否在UI线程调用,要求放UI线程调用

5)调试SDK,能否提供测试的账号
请直接在当前客户端“一键注册”账号测试游戏即可,SDK无限制账号测试

6)之前在论坛注册的UC号,登录时提示“账号或密码有误”,输入的账号或密码是正常的
使用的账号或密码错误,或使用的账号与当前客户端连接的环境不匹配。(测试与正式环境账号不相通,如果是从联调环境注册的账号,再使用生产环境进行登录,可能会出现如上错误),重新在当前环境下进行注册账号,再使用新注册的账号进行登录即可。

7)使用正常的手机号验证码登录,提示“验证码错误”
请检查客户端是否为联调环境(即debugMode=true),因联调环境不支持手机号登录,故无法验证通过,如需在联调环境登录,请使用一键注册账号登录

8)测试使用的账号,忘记密码,能否重置下密码
联调环境的密码如丢失的话无法找回,请重新注册账号测试,如正式环境的密码丢失,可以走申诉,申诉地址:http://kf.uc.cn/aq

9)登录成功后两次回调,一次是code:0,登录成功,一次code = -600 ,登录退出回调
安卓客户端登录成功后,会自动关闭登录界面。故登录成功后,客户端会先收到SUCCESS(即code为0)的状态码,代表账号登录成功,随后会收到LOGIN_EXIT(即code为-600)的状态码,代表关闭登录界面。以上为正常情况。游戏客户端可在当存在SUCCESS的情况下,处理SUCCESS的回调,当不存在SUCCESS的情况下,处理LOGIN_EXIT的回调。

10)登录成功后,点击欢迎回来tips上的“切换账号”按钮,无响应
在SDK 初始化(initSDK)时设置开启切换账号功能时,登录成功的TIPS上会出现“切换账号”按钮,需要游戏在初始化前监听LogoutNotifyListener,收到回调SUCCESS后重新走登录流程
具体实现参考:http://bbs.9game.cn/thread-3183742-1-2.html
如不实现请关闭切换账号功能,关闭方法参考(拉到最后):http://bbs.9game.cn/thread-3835675-1-1.html

11)客户端如何获取账号标示和昵称
SDK客户端登录成功后,游戏客户端通过getsid()方法获取SDK客户端的sid,发送给游戏服务器,游戏服务器使用此sid进行服务端接口调用,即可获取账号标示(accountId)及昵称,随后游戏服务器向游戏客户端发送账号标示及昵称即可。(注:游戏客户端无法直接从SDK客户端获取账号标示)
详细流程可见接入文档“02-技术文档-SDK总体机制\UC游戏_SDK_开发参考说明书_总体机制_vX.X.X.pdf”(注:X.X.X为版本号)

12)非首次登录成功后退出游戏,第二次不会自动登录
可能原因
1、游戏退出时或调登录接口前有调用logout接口,请去掉
2、悬浮图标内关闭自动登录,请开启后退出游戏重进看看

13)登录界面按home键,返回游戏,支付界面消失
在AndroidManfest配置了android:launchMode="singleTask"的activity配置,均修改为android:launchMode="standard"即可。
设置后无效请参考论坛说明:http://bbs.9game.cn/thread-3183713-1-1.html


14)使用SDK激活码系统,需要另外接入SDK吗
不需要,联系九游运营人员配置激活码系统即可,按正常流程接入,不用额外接入接口或修改接口,需要测试的话,请向运营人员索要激活码

3、扩展数据接口(submitExtendData)
常见问题(FAQ)请到这里查看:
http://bbs.9game.cn/thread-5370208-1-4.html

4、充值(pay)
1) 充值界面提示“出错了,抱歉,由于系统原因当前无法支付”
1、游戏初始化initSDK及调pay方法时传的serverID是否为0,如果不是0,请修改为0,否则不能进行支付(initSDK、pay两个接口请检查清楚)
2、检查下回调地址是否已配置
3、如当前环境为正式环境(即debugMode=false),需要游戏先在开放平台完成在线签约,签署成功后才能开支付,如确认以上两点配置好,且合同签署成功,但仍无法支付,请联系技术接口人核查支付权限是否已开通

2) 充值界面,点击支付时,提示下单失败
1、检查下回调地址是否已配置
2、如客户端配置了回调地址,请注意回调地址格式必须以“ http://”开头,不能用空格或null值,如使用后台配置地址,请传“”或注释掉setNotifyUrl参数
3、如游戏迁移过主体,请检查迁移后是否已重新签约成功,如合同签署成功,但仍无法下单,请联系技术接口人核查支付权限是否已重新开通

3)客户端setNotifyUrl后台还有配置回调地址地方,优先取哪个
优先取客户端传递的回调地址,如无传递再去找后台配置的地址

4 )客户端callbackInfo、cpOrderId分别传什么
cpOrderId:自定义订单号,对应服务端回调时的cpOrderId,长度不超过30
callbackInfo自定义参数,对应服务端回调时的callbackInfo,长度不超过250
客户端设置后,两个参数通过回调信息透传给游戏服务器,便于游戏能区分充值用户的个人信息(注:callbackInfo不传递的话,服务端不回调cpOrderId,customInfo不管有没传递,均会回调)

5)后台配置回调地址有区分测试环境,正式环境,需要配置不同的吗
SDK会根据客户端下单时当前使用的环境去拿对应环境的回调地址,两个环境可以使用相同的回调地址或不同的均可正常接收回调

6) 游戏横屏但充值界面显示为竖屏,怎么修改
在调用SDK初始化方法前(initSDK),加入以下此行代码即可:
gameParamInfo.setOrientation(UCOrientation.PORTRAIT);
详情见论坛:http://bbs.9game.cn/thread-3183756-1-1.html

7) SDK支付界面横屏但跳转支付宝、银行卡为竖屏,怎么修改
支付宝、银行卡强制竖屏,无法修改,如果横屏游戏切屏后导致游戏异常退出或黑屏等其它现象,请游戏修改manifest文件将所有的activity都加上screenSize属性,如下:
android:configChanges="keyboardHidden|orientation|screenSize"

8)SDK支付界面点击“支付”按钮,未充值成功就收到ON_CREATE_ORDER_SUCC回调
支付接口一共两个回调,一个是订单生成回调ON_CREATE_ORDER_SUCC,一个是界面关闭回调ON_PAY_USER_EXIT,在充值界面选择支付方式后点击“支付”就会触发下单成功的回调
ON_CREATE_ORDER_SUCC,此处并非充值成功,用户可能继续支付,或取消订单,充值结果请留意服务端收到的回调信息判断,客户端没有充值成功的回调接口

9) 客户端是否能获取充值成功的回调
客户端不能获取充值成功或失败回调,充值完成后,SDK服务器会回调充值结果至游戏配置好的回调地址上,游戏通过服务器收到的回调信息判断是否充值成功,orderStatus为S成功,F失败,游戏判断订单为S再处理下发游戏币,F不予下发
详情查看论坛说明:http://bbs.9game.cn/thread-3650128-1-2.html

10) 如何测试充值,是否能提供测试号
不提供测试账号,游戏自行在登录界面注册账号,联调环境测试充值,可以提供UC账号给技术接口人增加U点用于测试充值,充值卡测试使用虚拟的卡号密码,符合位数即可充值(如卡号10位,密码8位),支付宝、银行卡等需要真实付款,可忽略不测,正式环境测试充值需要使用真钱,游戏可以调低支付金额,SDK支付最小单位0.01元

11) 联调环境不显示“U点”支付
U点支付最低金额为“1元”,如当前传递的amount值低于“1”,则不显示U点入口,请游戏调整充值金额

12) 联调环境无法充值U点,点击充值时一直转圈卡住
因联调环境充值U点功能未完善,故暂无法充值U点,如游戏需要用U点支付,请提供UC账号联系技术接口人添加U点

13)联调环境支付宝充值,提示正在打开支付宝插件,但是没有界面出来
因联调环境充值支付宝功能未完善,故暂无法调起插件,建议游戏使用其它方法测试充值,待接口调通后,用正式环境再行测试支付宝充值功能

14) 如何使用定额支付,或不定额支付
调pay充值接口前传递的amount值,如不传或用0即显示非定额支付界面,可自行填入充值的金额,如amount值的值为固定金额,则需要按传入的对应金额支付(amount值单位为元)

15)客户端有没有查询充值订单接口
不提供,充值成功后SDK服务端主动回调订单给游戏服务器,不提供另外

16)充值界面按home键,返回游戏,支付界面消失
在AndroidManfest配置了android:launchMode="singleTask"的activity配置,均修改为android:launchMode="standard"即可。
设置后无效考论坛说明:http://bbs.9game.cn/thread-3183713-1-1.html

17)充值后在哪里查询充值结果
联调环境充值的订单,可以通过“开放平台-游戏管理-点击游戏名-SDK接入-游戏接入调试工具-充值”查询订单充值结果
正式环境的订单,可以通过“开放平台-合同与财务-支付详情”,输入账号或订单号查询

18)支付调用“弹出界面是  账户信息发生变化,为了您的支付安全,请重新登录游戏再试”

1、当前登录的状态已经丢失了,请登录后再进行支付,登录状态丢失的问题可能:
1)调用注销后没有重新走登录接口
2)连续重复调用多次登录,导致登录状态丢失

5、注销(logout)
1)logout接口在哪里调用
游戏内有”注销“或”切换账号“功能时调用logout注销接口,如果没有则不需要接用此接口

2)调用logout接口后,再调login没有弹出登录界面
调用logout注销接口后,不能直接调login登录接口,需要游戏先监听ON_LOGOUT_SUCC事件收到SUCCESS后再调login接口,否则登录界面无法显示

6、退出SDK(exit退出接口)
1)SDK退出接口在哪里调用
建议放在手机返回键或游戏内的”退出游戏“按钮调用

2)游戏有退出框,能否不调此接口
不可以喔,当游戏退出前必须调用该方法,进行SDK清理工作,否则可能再次进入会出现未知错误,建议游戏退出框去掉,直接调用SDK退出方法

3)接口调用后,界面不显示
请检查:
1、接口是否在UI线程调用,要求放UI线程执行
2、调用退出方法时是否同时调用了其它退出方法,导致SDK退出接口未执行完,游戏就退出了或被其它执行的代码中断
3、以上两点检查正常后请看下logcat运行日志,是否有异常报错或警告日志,按日志排查原因

4)退出界面,点击“退出游戏”,游戏不退出
退出接口有两个回调,一个是ON_EXIT_CANCELED:继续游戏,一个是ON_EXIT_SUCC:退出游戏,SDK实现退出游戏功能,需要游戏按SDK回调做相应处理

0

主题

0

魅力

124

经验

Lv1新手上路

Rank: 1

发表于 2017-8-8 16:30:44 |显示全部楼层
我想问下,初始化失败的错误提示信息在哪
回复 推荐

举报

61

主题

0

魅力

3万

经验

网游运维

发表于 2017-8-18 16:33:02 |显示全部楼层
32892927 发表于 2017-8-8 16:30
我想问下,初始化失败的错误提示信息在哪

友友,初始化失败请查看logcat运行日志
回复 推荐

举报

返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

站点地图| 帮助中心| 微信客服| 九游手机游戏论坛 ( 粤ICP备13078412号-3 粤网文[2014]0209-059号 广州爱九游信息技术有限公司 )

GMT+8, 2017-12-17 16:12 , Processed in 0.052074 second(s), Total 13, Slave 12 queries , Memcache On.

回顶部