公共SDK扩展接口接入文档.md 10.1 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表示绑定平台,比如谷歌就传
| | google,facebook就传facebook,不确定 | "false" 表示未绑定该平台
| | 平台传other;value传""就好 |
------------------------ --------------------------- ------------------------------------
设置推送 | getPushStatus | Map集合,key表示推送类型,比如全体推送 "true" 表示设置了该推送
| | 就传enable,夜间推送就传night,广告推送 | "false" 表示未设置该推送
| | 就传ad;value传""就好 |
------------------------ --------------------------- -------------------------------------

第三步设置功能

接口名 方法名 参数 | 返回状态码
Facebook好友界面 showFaceBookFriendsView null
----------------------------- --------------------------- --------------------------------------
分享到Facebook showShareFacebookView null
----------------------------- --------------------------- --------------------------------------
删除账号 deleteMember null
----------------------------- --------------------------- --------------------------------------
显示公告 showNotice null
----------------------------- --------------------------- --------------------------------------
显示cafe窗口 showNaverCafePlug null
----------------------------- --------------------------- --------------------------------------
谷歌评论 showGoogleComment null
----------------------------- --------------------------- --------------------------------------
绑定账号(绑定) createLinkingAccount Map集合,key表示绑定平台,比如谷歌就传
| | google,facebook就传facebook,不确定 |
| | 平台传other;value传""就好 |
---------------------------- --------------------------- ---------------------------------------
绑定账号(解绑) deleteLinkingAccount Map集合,key表示绑定平台,比如谷歌就传
| | 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);//此结果的返回码如上表格
 }
 `