百度移动游戏SDK接入说明(网游)
一、接入前的准备
游众1、商务在开发者网站:http://app.baidu.com/,注册您的开发者账号
2、登陆账号后选择“管理中心”,选择“联运游戏”,点击“创建游戏”,如下图:
3、支付结果地址和服务器IP地址
3.1、支付结果地址配置:获取该渠道的游众平台回调地址
使用时请把回调地址中的APPID替换为在游众注册的应用ID,去掉大括号{}和中间的-。
3.2、服务器IP地址配置:222.73.31.34
注意事项:
完成创建后,游戏名称更改需通知百度平台,由百度平台操作更改,游戏类别一旦建立,游戏就无法更改,其他信息可由CP端编辑更改。
4、创建完游戏后, 获取游戏所需的参数:APP ID、APP KEY和SECRET KEY:
二、游众工具参数说明
1、APP ID: 百度后台提供APP ID
2、Product Key: 百度后台提供的APP KEY
3、Product Secret:百度后台提供的SECRET KEY
4、商品兑换比例: 如1人民币=10虚拟币,则填入数字10。
定额支付里,商品兑换比例无用;
非定额支付里,设置商品兑换比例有效。
非定额支付:
5、接入类型:百度移动游戏,百度多酷,91,默认是百度移动游戏。
若是新游戏(2014年11月11日之后创建的游戏):使用百度移动游戏类型,或者不配置,此时返回百度移动游戏用户ID。
若兼容百度多酷老游戏(指的是之前已经接入百度多酷游戏SDK):使用多酷类型,此时返回多酷用户ID。
若兼容91老游戏(指的是之前已经接入91游戏SDK):使用91类型,此时返回91用户ID。
6、横竖屏:设置登陆和支付界面的横竖屏。设置为竖屏时,银行卡支付强制横屏。
7、是否兼容多酷手游SDK:不兼容;兼容。默认为不兼容。
原先使用多酷手游SDK的游戏,需选择兼容,否则更换为百度移动游戏SDK后不能使用论坛、专区等功能。
判断标准:
如果“多酷AppId和AppKey”在开发者平台显示,则需要选择“兼容”;
如果没有显示,则选择“不兼容”。
若选择 兼容:
DK App ID:接入多酷手游时的AppId
DK App Key:接入多酷手游时的AppKey
8、是否接入百度公告:选择接入,表示在初始化完成后,就调用百度公告显示接口;选择不接入,请手动调用setData接口,具体可以参考常见问题setData的用法。
9、是否支持录屏:如果游戏本身支持录屏,请选择支持;如果游戏本身不支持录屏,请选择不支持
三、注意事项
1、完成创建后,游戏名称更改需通知百度平台,由百度平台操作更改,游戏类别一旦建立,游戏就无法更改,其他信息可由CP端编辑更改。
2、闪屏:百度要求它们的闪屏必须在第一屏显示,游戏的logo在其后面显示,即保证首先调用SFOnlineHelper.onCreate(this);
3、工程里面的资源文件(即res文件夹下所有文件包括drawable,id,string,color,layout等)分别以:
“dk_”,“ebpay_”,“tieba_”,“bd_”,“bdp_”开头命名。接入时请不要以这写为开头命名资源,以避免冲突。
4、要求有百度角标(角标可放在图标四角任意角,根据游戏自身icon调整至最佳位置即可)。
角标可以直接在工具中设置:
5、有悬浮窗,SDK内部控制悬浮窗的显示。
6、支付拓展接口,调用实例:详情可参考demo。
public static void payExtend(Context context, int unitPrice,
String unitName, String itemCode, String remain, int count,
String callBackInfo, String callBackUrl,
SFOnlinePayResultListener payResultListener)
该接口用于支付扩展接口函数。在支付时,可以设置不定额支付时,不同商品的兑换比例,此时游众工具上设置的商品兑换比例无效。
参数描述:
参数名称 |
类型 |
注释 |
context |
Context |
上下文Activity |
unitPrice |
int |
游戏道具价格,单位为人民币分 |
unitName |
String |
虚拟货币名称 |
itemCode |
String |
可以传null |
remain |
String |
自定义参数。填写商品兑换比率:比如100。价格传入0时,为不定额支付有效,定额支付时这个值设置了无效。 |
count |
int |
用户选择购买道具界面的默认道具数量。(总价为 count*unitPrice) |
callBackInfo |
String |
由游戏开发者定义传入的字符串,会与支付结果一同发送给游戏服务器,游戏服务器可通过该字段判断交易的详细内容(金额角色等) |
callBackUrl |
String |
将支付结果通知给游戏服务器时的通知地址url,交易结束后,系统会向该url发送http请求,通知交易的结果金额callbackInfo等信息 |
payResultListener |
SFOnlinePayResultListener |
支付回调接口 |
四、常见问题
1、关于渠道SDKID
百度移动游戏的渠道SDKID:{A15DC579-667D6DA6}
游众服务器支付回调的SDKID格式为:A15DC579667D6DA6。
2、如何切换账号以及切换账号的处理
浮标上点击“个人中心”->“切换账号”,输入新的账号和密码,登录成功后会收到 loginsuccess的回调,失败后会收到loginfailed的回调。
3、充值时,充值卡充值中选项移动/电信/联通不全?
如果定额充值, 会根据金额来显示充值卡,没有显示的运营商是因为没有对应金额的卡。
4、手机一键注册失败,为什么?
确定手机中是否有SIM卡且有效,能够发送短信。
百度移动游戏SDK一键注册是通过手机发送短信来获取手机号码为账号,并注册账号。
5、百度移动游戏接入sdk论坛:
http://bbs.mgame.baidu.com/forum.php?mod=viewthread&tid=530&extra=page%3D1
6、使用多酷账号登陆,修改密码成功后,再点击个人中心,浮标消失或游戏停止运行。
需要在onlogout回调里,调用login接口。
7、设置角色基本数据接口public static void setRoleData(Context context, String roleId, String roleName, String roleLevel, String zoneId, String zoneName)
调用时间:在游戏登录验证成功后
参数描述:
参数名称 |
类型 |
注释 |
context |
Context |
上下文Activity |
roleId |
String |
角色唯一标识 |
roleName |
String |
角色名 |
roleLevel |
String |
角色的等级 |
zoneId |
String |
角色所在区域唯一标识 |
zoneName |
String |
角色所在区域名称 |
JSONObject
gameinfo = new JSONObject();
gameinfo.put("roleId", "1");
gameinfo.put("roleName", "猎人");
gameinfo.put("roleLevel", "100");
gameinfo.put("zoneId", "1");
gameinfo.put("zoneName", "阿狸一区");
SFOnlineHelper.setData(context, "levelup", gameinfo.toString());
注意“roleLevel”需要传入数字。
SFOnlineHelper.setRoleData(context,"1","猎人", "100", "1", "阿狸一区");
注意测试环境下设置角色的服务器(zoneId )必须为申请游戏时的测试服务器
8、setData接口:调用方法:
如果工具上公告显示选择不接入,请调用下面的方法去实现百度公告的显示。
public static void setData(Context context, String key,Object value) 其中key值请传showInfo。
setData接口的接入可以显示百度移动游戏的公告显示功能。调用时机为:SDK初始化成功之后,SDK账号登陆之前。
公告显示的测试方法:测试方法:
1:将已签名的apk文件后缀名改为zip
2:双击打开zip文件(请勿解压),找到签名文件META-INF
3:将14869渠道的渠道文件BDPChannelID.xml复制粘贴到META-INF中
4:将zip文件后缀修改为apk
5:安装apk文件并测试