公共SDK扩展接口接入文档.md 9.87 KB

公共SDK扩展接口接入文档

接入必读

`扩展接口的调用均通过反射实现,方法名需要和公共协商统一,其调用一般分为三步:
    1.先判断是否可使用该功能( cp通过该方法的返回值判断是否在游戏界面显示相应的入口 ):
        boolean returnBool = PoolSdkHelper.hasFunction({方法名});
    2.获取状态。当第一步中的结果返回 true 时,方才执行第二步,否则不执行;第二步非必接接口,其执行条件为当需要获取某个状态(比如:绑定,推送)时调用,否则可跳过此步骤直接执行第三步:
        boolean returnState = PoolSdkHelper.hasFunction({方法名});
    3.具体设置。当第一步中的结果返回 true 时,如无需执行第二步请直接执行此步,否则请先执行第二步再执行此步骤,这一步的调用结果会通过游戏初始化传入的监听器传递给游戏,具体的返回码请见具体接口说明:
        Map<Object,Object> map = new HashMap<>();
        PoolSdkHelper.callfunc({方法名},map);`

具体接口说明如下

第一步判断是否可使用该功能

接口名 方法名 返回结果 |
Facebook好友界面 hasFaceBookFriendsView true 执行第三步的相应接口,false 不显示入口
分享到Facebook hasShareFacebook true 执行第三步的相应接口,false 不显示入口
删除账号 hasDeleteMember true 执行第三步的相应接口,false 不显示入口
显示公告 hasShowNotice true 执行第三步的相应接口,false 不显示入口
显示cafe窗口 hasNaverCafePlug true 执行第三步的相应接口,false 不显示入口
谷歌评论 hasGoogleComment true 执行第三步的相应接口,false 不显示入口
绑定账号 hasLinkedAccountView true 执行第二步的相应接口,false 不显示入口
设置推送 hasPushView true 执行第二步的相应接口,false 不显示入口
----------------------------- ---------------------------- ---------------------------------------

第二步获取状态(不用获取状态的功能请跳过此步骤执行第三步)

接口名 方法名 参数 返回结果
绑定账号 getLinkedAccountStatus Map集合,key表示绑定平台,比如谷歌就传 "true" 表示绑定了该平台
google,facebook就传facebook,不确定 "false" 表示未绑定该平台
平台传other;value传""就好
------------ -------------------------- ------------------------------------ ------------------------------
设置推送 getPushStatus Map集合,key表示推送类型,比如全体推送 "true" 表示设置了该推送
就传enable,夜间推送就传night,广告推送 "false" 表示未设置该推送
就传ad;value传""就好
----------- --------------------------- ------------------------------------- -----------------------------

第三步设置功能

接口名 方法名 参数 返回状态码
Facebook好友界面 showFaceBookFriendsView null
分享到Facebook showShareFacebookView null 成功 1104 失败 1204
删除账号 deleteMember null 成功 1107 失败 1207
显示公告 showNotice null
显示cafe窗口 showNaverCafePlug null
谷歌评论 showGoogleComment null 成功 1106 失败 1206
绑定账号(绑定) createLinkingAccount Map集合,key表示绑定平台,比如谷歌就传 成功 1100 失败 1200
google,facebook就传facebook,不确定
平台传other;value传""就好
绑定账号(解绑) deleteLinkingAccount Map集合,key表示绑定平台,比如谷歌就传 成功 1101 失败 1201
google,facebook就传facebook,不确定
平台传other;value传""就好
设置推送(允许) setPushEnable Map集合,key表示推送类型,比如全体推送 成功 1103 失败 1203
就传enable,夜间推送就传night,广告推送
就传ad;value传""就好
设置推送(不允许) setPushDisable Map集合,key表示推送类型,比如全体推送 成功 1105 失败 1205
就传enable,夜间推送就传night,广告推 送
就传ad;value传""就好
----------------------- --------------------------- ----------------------------------------- ------------------------

接入事例

无需进行第二步以 显示公告 为例

 `
 boolean hasShowNotice = PoolSdkHelper.hasFunction("hasShowNotice");
 if(hasShowNotice){
    //显示公告入口
 }else{
     //不显示公告入口`
 }
 `
 用户点击公告时
 `
 PoolSdkHelper.callFunc("showNotice",null);
 `

需要进行第二步获取状态以 绑定账号 为例

`
boolean hasLinkedAccountView = PoolSdkHelper.hasFunction("hasLinkedAccountView");
 if(hasLinkedAccountView){
    //显示公告入口
 }else{
     //不显示公告入口`
 }
 `
 获取绑定状态,以便知道显示解绑还是绑定视图
 `
 Map<Object,Object> map = new HashMap<>();
  map.put("google","");//以谷歌为例
  String linkedAccountStatus = PoolSdkHelper.callFunc("getLinkedAccountStatus",map);
 `
用户点击按钮改变状态时
 `
if("true" == linkedAccountStatus){//已经绑定了
    //此时为解绑
    Map<Object,Object> map = new HashMap<>();
    map.put("google","");//以谷歌为例
    PoolSdkHelper.callFunc("deleteLinkingAccount",map);//此结果的返回码如上表格
 }
 if("false" == linkedAccountStatus){//没有绑定
    //此时为去绑定
    Map<Object,Object> map = new HashMap<>();
    map.put("google","");//以谷歌为例
    PoolSdkHelper.callFunc("createLinkingAccount",map);//此结果的返回码如上表格
 }
 `