母包接入攻略

来自AnySDK 文档
跳转至: 导航搜索


  由于渠道SDK数量众多且各有差异,本文档针对渠道SDK的接入,在此根据个人见解提供以下攻略,仅供参考。

初始化

  在AnySDK客户端上创建好游戏,并按照集成文档集成AnySDK框架和编写服务端代码后,初始化的appKey、appSecret、privateKey填写AnySDK客户端上为该游戏自动分配的参数,oauthLoginServer填写游戏服务端的登陆验证地址。(游戏服务端需先按照文档写好代码并提供登陆验证和支付通知的http接口)

登陆

  在收到用户初始化回调之后,调用login函数进行登陆,输入测试账号和密码进行登陆(测试账号在AnySDK后台添加),正常会回调登陆成功。
  由于有的SDK并没有登陆取消回调,所以建议游戏做一个“开始游戏”的按钮,判断用户是否登陆,没登陆的时候重新调用login函数(游戏可自己创建个变量来表示玩家登陆状态)。
  建议登陆成功回调和切换账号成功回调执行同样的逻辑,判断下玩家登陆状态来进行不同处理。

悬浮窗

  有的SDK并没有悬浮窗,有的SDK初始化后就自动显示悬浮窗,有的SDK需要初始化后调用showToolBar显示悬浮窗,有的SDK需要登陆后调用showToolBar显示悬浮窗,根据不同渠道做不同处理。(可尝试初始化和登陆后都调用下showToolBar)

注销或切换账号

  大多数SDK是有提供注销或切换账号的功能,但是不同SDK不一样,有的是在悬浮窗,有的是在用户中心,有的是自动登陆界面有个切换账号的按钮,有的是每次登陆都弹出登陆框,有的是直接提供接口让用户调用······
  例如游戏可以做一个“账号中心”的按钮,不同渠道调用不同接口(logout、accountSwitch或enterPlatform),或者什么都不调用直接返回游戏登陆界面。一般来说,有logout就调用logout,没logout就调用accountSwitch,两个都没就自己返回游戏登陆界面,不过还真不确定所有SDK是否都适用,可实际测试下。
  注销账号成功有注销成功的回调,可在回调里返回游戏登陆界面,重新登陆。切换账号成功后有切账号成功的回调,可在回调里返回游戏登陆界面,重新进入游戏来切换角色。切换账号失败的话,可返回游戏登陆界面,重新登陆。(游戏可记录玩家登陆状态,登陆成功回调和切换账号成功回调里判断该玩家登陆状态来做不同处理)

提交角色数据

  有的SDK需要提交一些角色数据到SDK服务器,按照文档调用用户的submitLoginGameRole扩展函数。

支付

  AnySDK客户端的【游戏管理】的【母包支付通知地址】一栏填写游戏服务端的支付通知地址,按照文档调用payForProduct函数,将文档所写的参数全部传入,母包测试支付注意金额要不小于1元且账号余额要足够(AnySDK后台可设置测试账号金额)。支付成功后,客户端会回调支付成功的回调,且AnySDK后台能看到该订单状态为成功,检查游服是否正确返回ok。
  有的SDK需要在渠道后台配置商品,然后支付的Product_Id传渠道的商品ID,这时候就得根据不同渠道传不同的商品ID。(AnySDK后台新出了一个【管理商品】,可映射渠道商品ID,不过只有最近更新的SDK插件支持该功能,对于不支持的SDK插件,还是需要自己映射)
  有的SDK没有支付取消回调,AnySDK就会认为一直在支付中,这时候就需要调用resetPayState来重置状态才可以再次发起支付。可在调用payForProduct后延迟几秒调用resetPayState,以此来控制两次支付的间隔。

退出界面

  有的SDK需要退出界面,按照文档调用用户的exit扩展函数,可在返回键或游戏的退出按钮里调用该函数。在退出界面点击退出会回调用户的退出界面的回调,游戏需在该回调里执行游戏的退出逻辑。

小技巧

  AnySDK客户端的【渠道参数】里有【自定义参数】,可对不同渠道设置不同字符串,然后游戏通过getCustomParam函数获取该字符串,然后根据该字符串进行不同逻辑处理。
  例如可配置这么一个自定义参数,{"debug":false,,"showToolBar":0,"accountCenter":"logout","product_id":{"1":"m1","2":"m2"}}
  游戏获取该json字符串,然后进行解析,根据不同参数做不同处理:
  debug:     是否测试模式。false的时候Product_Price传正常的金额,true的时候Product_Price传"0.01",这样支付调试的时候就方便了,不用代码金额改来改去的了。一般AnySDK在SDK插件代码里都会判断下金额,如果小于SDK支持的最小金额,会修改金额的。
  showToolBar:  何时调用showToolBar。0的时候不调用showToolBar,1的时候初始化成功后调用showToolBar,2的时候登陆成功后调用showToolBar。
  accountCenter: 账号中心(就是上文推荐加的按钮)作何处理。logout、accountSwitch、enterPlatform:调用对应的接口,nothing:什么也不调用直接返回游戏登陆界面。
  product_id:   商品ID。将游戏商品ID和渠道商品ID做映射。
  PS:以上是需要游戏自己解析字符串,然后添加代码处理的,并不是AnySDK内部功能,请勿理解错误。游戏也可以根据自己需求,添加自己所需的参数,方便游戏做不同处理。

备注

  母包接入完毕后就可以开始通过AnySDK客户端进行打包,然后对渠道包再进行测试。测试过程中可能发现有的渠道包需要特殊处理,再重新修改母包代码。可通过getChannelId函数获取渠道编号,然后针对该渠道进行不同的处理。