各版本SDK&接入文档
名称 版本号 发布时间 资源下载 本期更新说明
百度游戏SDK 1.0.1 2016-09-02 BaiduGameSDK

文件大小:11.4 MB

百度游戏SDK,支持试玩功能

修复账号充值问题

接入流程FAQ

1、更新问题

1.1、游戏APK更新机制

游戏需要有自己的更新机制,强制更新时百度游戏只提供给CP测试通过的签名包,CP把签名包放在自己游戏服务器端供老玩家更新下载。同时百度游戏会把更新包上架供新玩家下载。

1.2、百度游戏SDK需要导整个项目,是不是导入资源有特别的要求或者限制?

无特别要求,导入Duoku_Sdk_Project工程并配置AndroidManifest.xml文件即可,详情请参考《百度游戏SDK(支付版)接入API参考手册》。

2、初始化问题

2.1、初始化报错?

初始化要求必须在主Activity的oncreat中进行,初始化代码要在主线程中进行,不要单起子线程调用。

2.2、初始化时是否不用配置App_secret?

是的,客户端无需配置App_secret以防止泄露。此参数用于服务端查询支付购买结果。

3、悬浮窗问题

3.1、登陆后没有出现悬浮窗?

SDK登陆后自动显示悬浮窗,若无悬浮窗请检查AndroidManifest.xml文件是否配置正确,详细请参考百度游戏demo。

查看AndroidManifest.xml文件中是否缺少此句代码:

service android:name="com.duoku.platform.service.DKSuspensionService" /。

3.2、悬浮窗内专区加载失败?非本游戏专区?

1)把AndroidManifest.xml文件中android:targetSdkVersion此参数改为16(不包含16)以下即可。

2)游戏上线后会自动更改为CP专区,需CP端在开发者平台填写。

开发者平台地址:http://app.baidu-mgame.com/

登陆我的游戏点击产品名称资讯/攻略添加资讯攻略。

3.3、点击切换账号但仍在游戏中?

点击切换账号要求返回登陆界面或者重启游戏(不要在回调里调用我们登陆接口),SDK提供切换账号回调,请CP在回调中做处理,悬浮窗口消失说明回调已成功。

3.4、讲解网游SDK修改密码。

1)操作流程:悬浮窗口——账号管理——修改密码 。

注:第三方登陆时可显示修改密码选项但点击无效。

2)修改密码成功:

修改密码成功后可继续进行游戏,当点击账号管理或者充值操作时会弹出登陆状态失效的窗口。

注:对于appid和appkey未入库(即首次接入SDK)的游戏,不会弹出登陆状态失效的提示,但失效的回调必须要做正确处理,测试请使用多酷账号,百度账号与91账号均不触发此回调,如3)。

3)点击确定按钮:

点击确定按钮后的逻辑操作交给CP处理,此处逻辑与切换账号一致,即返回登陆界面或重启游戏(不要在回调里调用我们登陆接口)。

登陆状态失效回调代码:

4、登陆问题

4001.接入后进行登录/注册/支付,报错或提示“网络数据解析异常,请稍候重试!”?

1)请检查下AndroidManifest.xml文件中的versionName字段,如果以引用字符串资源的形式配置的(通常出现在ANE项目中),请改为直接配置,即写死版本号的方法配置。

2)请检查下AndroidManifest.xml文件中的渠道号是否配置正确 。

注 :渠道号要放到application里 。渠道号13744直接复制即可。

3)请检查是否初始化,appid、 appkey 是否正确,可以把游戏的参数复制到demo中测试。

4)请检查AndroidManifest.xml文件配置中所有activity的横竖屏方向是否与初始化横竖屏方向一致,以确保屏幕方向一致。

5)请检查AndroidManifest.xml文件配置中versionname 和versioncode 是否为固定值,切勿为引用。

注:为了准确检查出问题,以上方法更改后,必须卸载手机原程序并清除缓存重新安装测试。

4.2、第三方登陆异常(百度账号/新浪微博)

1)先查看百度游戏登录注册是否正常?若不正常请参考4.1。

2)导入工程缺包导致,请参考demo仔细检查是否少JAR包。

3)请参考5014条检查.so包是否缺失和存放位置。

4)检查SDK版本是否为线上最新版本。http://app.baidu-mgame.com/yyjr/sdk

4.3、手机号一键注册异常

1)查看百度游戏注册登陆是否正常;若百度游戏注册登陆不正常请先按4001方法解决。

2)查看手机是否有卡、是否欠费。

4.4、登录返回的sessionId多久过期?如何测试?

session 30天失效,可在另一设备上登录同一账号测试session失效问题。

session失效回调代码如下图,CP必须做正确处理。

5、支付问题

5.1、支付界面进不去,或者停在二级界面无法跳转并且无法支付成功或支付提示网络异常?

1)请检查下AndroidManifest.xml文件中是否配置了渠道号。

即meta-data android:name="DUOKUSDK_CHANNEL" android:value="700" /字段。

2)请先确认是否在登录状态下。

3)对照demo中代码查看支付接口参数。

注:支付描述参数会原样返回,切勿传null、空串、空格。

5.2、从支付界面返回是否有回调?

注:此处mStateCode为true只代表有充值行为,充值结果由百度游戏服务器发送到CP配置的回调地址。

更多通知详见文档《百度游戏SDK(支付版)接入API参考手册》以及demo。

5.3、支付购买结果通知,是POST方式还是GET方式发送到支付回调地址?提交充值用POST还是GET?如果有分区服务是否配置多个回调地址?

1)GET方式。

2)POST方式。

3) 通知里的aid可用于游戏分区,可以不同的分区传不同的aid,处理通知时加以区分,

如果分新的回调地址需要重新分配appkey,appsecret,appid,重新申请一个应用比较麻烦。

5.4、如何配置回调地址?

回调地址配置路线图 http://app.baidu-mgame.com/

1)登陆开发者专区点击产品名称游戏基本信息。

2)编辑编辑完成后点击保存即可。

可更改,修改后30分钟可测。

5.5、充值是否有测试帐户和虚拟币?

目前测试都是用实卡实测的。充值金额至少1元。

5.6、充值时,充值卡充值中选项移动/电信/联通不全?是否有充值记录接口?酷币与人民币的兑换比例是多少?

1)如果定额充值, 会根据金额来显示充值卡,没有显示的运营商是因为没有对应金额的卡。

2)目前没有,下一版本会增加充值记录。

3)1酷币=1人民币。

5.7、关于假充值充值成功问题?

即随意输入任意卡号和密码都会充值成功。假充值百度游戏会通知result=2,可检查充值逻辑是否有问题。

5.8、支付结果通知的响应状态?

1)百度游戏发起的充值结果通知,CP必须直接以大写字符串的形式返回以上内容之一。

2)通知结果result为2时,只要参数合法,必须返回SUCCESS,表示成功收到'充值失败'的通。

3)如果响应不为SUCCESS、ERROR_REPEAT、ERROR_SIGN三者之一,百度游戏将重发通知。

5.9、登陆验证的uid是否是唯一的?充值回调接口中 orderid由谁生成?CP接收到的数据是encode过的,是否需要decode之后参与签名计算?

1)唯一标示,不同账号不一样。

2)CP客户端生成的。

3)不用,只encode一次是为了传输,比较的时候可以把aid转码之后进行对比。

5.10、加密时参数是否按照英文字母顺序排序?error_code ,error_msg 的类型是什么?timetamp这个参数是毫米还是秒?CP是否需要判断时间戳是否超时?

1)不是英文字母顺序,是文档里写的顺序。

2)error_code是int,error_msg是String 。

3)是标准Unix时间秒。

4)不需要 。

5.11、Uid是否是32位的整数?

后端生成的uid都是64位 ,但传出去的是string,uid是字符串进字符串出,目前最大的id是167388777。

5.12支付类型为0代表什么?

支付类型为0代表酷币余额兑换,具体类型参考SDK中《百度游戏开发平台服务端与应用服务端开发规范-简版》。

5.13、支付成功后获得游戏币显示异常?

正确配置虚拟币信息

名称:金币、砖石、元宝等(此项为虚拟币名称、切勿填写游戏名称)。

汇率:1人民币=100虚拟币(比例为人民币与虚拟币的比例,由CP填写)。

图标:为游戏图标。

5.14、接入网游SDK银联支付黑屏?

1).so包位置不对,反编译后检查工程下是否存在.so包,若没有请参考demo中.so包位置手动加入。

2)打开银联卡jar包,把.bin文件放入反编译后的工程drawable下。

5.15、百度钱包黑屏/卡屏/等待时间长问题

解决方法一:详细比照游戏代码与SDK,确保Activity初始化和AndroidManifest中设置横竖屏的代码无误。

解决方法二:将targetSdkVersion 改为12及以下解决问题。

解决方法三:在AndroidManifest中将所有Activity 设置android:configChanges="keyboardHidden|orientation|screenSize"解决问题。

6、针对不同游戏框架接入SDK黑屏/闪退问题

1)退出游戏不完全。

2)切换账号回调代码处理逻辑有问题。

3)调配主Activity启动模式。(singleTask或singleTop)

4)用空Activity承载初始化代码。

5)对于cocos2d-x开发,调用接口返回的时候比较容易卡机黑屏,如何解决?(应该是切换activity时,gl的纹理被释放然后返回重新加载导致)

参考解决办法:

1)CP的activity 添加android:configChanges="orientation|keyboardHidden|navigation"

2)用空的activity调用sdk的接口,不在游戏的activity中直接调用。

3)把cocos2d-x Cocos2dxGLSurfaceView这个类里的super.onPause;和super.onResume;注释掉。

注意:请在游戏主Activity的onDestory中调用sdk释放资源的方法,以防发生crash,详细请参考Demo中UserLoginActivity的onDestory方法。

8、SDK界面显示问题

1)显示百度游戏ICON角标和闪屏画面,如图:

注:闪屏界面要求2-3秒,若游戏自带闪屏,百度游戏闪屏优先显示(也可合成一张同屏显示,美观即可),桌面快捷图标要求有百度角标(角标可放在图标四角任意角,根据游戏自身icon调整至最佳位置即可)。

2)登陆成功后要显示悬浮窗口,若不显示请参考3001条。

3)点击充值需弹出百度游戏支付界面,若不弹出请参考5001条。