MSSDK

SDK 文档


Android API

<p>[TOC]</p> <h2>版本记录</h2> <table> <thead> <tr> <th style="text-align: left;">文档版本</th> <th style="text-align: left;">时间</th> <th style="text-align: left;">修改内容</th> <th style="text-align: left;">责任人</th> <th style="text-align: left;">备注</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">1.0.2</td> <td style="text-align: left;">2019/8/2</td> <td style="text-align: left;">整合纯API</td> <td style="text-align: left;">mark.zhang</td> <td style="text-align: left;">无</td> </tr> <tr> <td style="text-align: left;">1.0.3</td> <td style="text-align: left;">2019/8/28</td> <td style="text-align: left;">完善数据模型定义</td> <td style="text-align: left;">mark.zhang</td> <td style="text-align: left;">无</td> </tr> <tr> <td style="text-align: left;">1.1.0</td> <td style="text-align: left;">2019/11/07</td> <td style="text-align: left;">新增带UI的用户协议,隐私政策接口说明</td> <td style="text-align: left;">tenk</td> <td style="text-align: left;">需要更新SDK到1.4.1.2版本</td> </tr> <tr> <td style="text-align: left;">1.5.0</td> <td style="text-align: left;">2019/11/28</td> <td style="text-align: left;">新增极光一键登录接口说明;新增LBS接口说明,新增获取微信昵称和头像,MSLDConfig新增字段</td> <td style="text-align: left;">tenk</td> <td style="text-align: left;">需要更新SDK到1.5.0版本</td> </tr> <tr> <td style="text-align: left;">1.5.1</td> <td style="text-align: left;">2019/12/23</td> <td style="text-align: left;">新增客户端可以传入支付回调地址;新增更新用户信息的全局回调</td> <td style="text-align: left;">laimo.li</td> <td style="text-align: left;">需要更新SDK到1.5.1版本</td> </tr> <tr> <td style="text-align: left;">1.7.0</td> <td style="text-align: left;">2020/01/17</td> <td style="text-align: left;">增加兑换码接口</td> <td style="text-align: left;">nic.huang</td> <td style="text-align: left;"></td> </tr> <tr> <td style="text-align: left;">1.9.0</td> <td style="text-align: left;">2020/03/20</td> <td style="text-align: left;">1.LBS新增授权接口 2.微博分享</td> <td style="text-align: left;">leevin.li</td> <td style="text-align: left;">需要更新SDK到1.9.0版本</td> </tr> <tr> <td style="text-align: left;">1.9.3</td> <td style="text-align: left;">2020/03/24</td> <td style="text-align: left;">1.新增openinstall插件 2.更新问卷调查title</td> <td style="text-align: left;">nic.huang</td> <td style="text-align: left;">需要更新SDK到1.9.3版本</td> </tr> </tbody> </table> <h2>文档简介</h2> <blockquote> <p>该文档是SDK对外API(乐逗公版),方便开发者接入SDK,有问题可以 <a href="https://www.showdoc.cc/mssdk?page_id=2615409307929897">联系我们</a>。</p> </blockquote> <p>建议首次接入MSSDK,可以参考 <a href="https://www.showdoc.cc/mssdk?page_id=2638430478177500">Android-MSSDK集成向导</a> 文档。</p> <p>如果需要出非乐逗公版即渠道包,需要另外接入 <a href="https://www.showdoc.cc/mssdk?page_id=2635412379373303">渠道API</a>,更多参考可以看 <a href="https://www.showdoc.cc/mssdk?page_id=2699369189270969">Android 接入技术常见问题</a> 文档。</p> <h2>重要信息</h2> <p>本文档中涉及到的 <code>错误码</code> 可以参考下面链接的内容。</p> <ul> <li>Android SDK 错误码可以参考 <a href="https://www.showdoc.cc/mssdk?page_id=2634523439445568">Android SDK 错误码</a> 文档;</li> </ul> <h2>事件回调处理</h2> <blockquote> <p>主要用于 SDK 通知接入方一些重要的事件信息,如用户切换账号成功,登出和支付成功等事件。</p> </blockquote> <p><strong>简要描述:</strong></p> <p>对于游戏在整个运行生命周期始终需要关注的结果,如切换账号、登出、支付成功等结果,乐逗SDK将以通知回调的方式进行提供。 目前已包含的通知有3个:登出、切换账号、支付成功。只能注册一个通知类回调,使用不同的case来处理不同的通知。</p> <p><strong>函数原型:</strong></p> <pre><code class="language-java">public void registerNotifyListener(MSLDNotifyListener listener);</code></pre> <p><strong>函数参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>事件ID,标识具体事件,详见 <a href="#jump_ncode">NotifyCode</a></td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>提示消息</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>事件数据,可能为空</td> </tr> </tbody> </table> <p><span id="jump_ncode">NotifyCode 定义:</span></p> <table> <thead> <tr> <th style="text-align: left;">事件ID</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">事件返回数据类型</th> <th style="text-align: left;">返回数据说明</th> <th style="text-align: left;">触发场景说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">SWITCH_ACCOUNT</td> <td style="text-align: left;">用户切换账号</td> <td style="text-align: left;">MSLDAccount</td> <td style="text-align: left;">切换后的账户对象</td> <td style="text-align: left;">用户在个人中心选择切换账号后,选择某个账号登录、或用户在绑定手机二选一流程中,选择取回原有时,会触发该事件</td> </tr> <tr> <td style="text-align: left;">ACCOUNTINFO_UPDATED</td> <td style="text-align: left;">用户信息更新</td> <td style="text-align: left;">HashMap</td> <td style="text-align: left;">当用户信息发生变更或SDK内部发生用户信息刷新时触发该事件。建议再这个时候对使用到的用户信息进行更新</td> </tr> <tr> <td style="text-align: left;">LOGOUT</td> <td style="text-align: left;">退出登录</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td style="text-align: left;">退出登录的账户对象</td> <td style="text-align: left;">用户在个人中心选择切换账号时,会先退出当前账号,由此触发该事件。用户在使用SDK各项功能过程中,token过期时亦会触发该事件</td> </tr> <tr> <td style="text-align: left;">PAY_SUCCESS</td> <td style="text-align: left;">支付成功</td> <td style="text-align: left;">String</td> <td style="text-align: left;">订单信息,数据为RSA加密数据</td> <td style="text-align: left;">用户支付成功回调,需调用<code>订单消费结果上报</code>接口上报订单信息</td> </tr> <tr> <td style="text-align: left;">POLICY_MINORS_PLAYTIMELIMIT</td> <td style="text-align: left;">政策需求-未成年人-时间限制</td> <td style="text-align: left;">null</td> <td style="text-align: left;">无</td> <td style="text-align: left;">客户端检测到用户(未成年人)已经达到时间上限,弹出提示窗,同时会触发该事件。建议可以在这个时候执行暂停操作</td> </tr> <tr> <td style="text-align: left;">POLICY_VISITOR_PLAYTIMELIMIT</td> <td style="text-align: left;">政策需求-游客-时间限制</td> <td style="text-align: left;">null</td> <td style="text-align: left;">无</td> <td style="text-align: left;">客户端检测到用户(游客)已经达到时间上限,弹出绑定手机界面,同时会触发该事件。建议可以在这个时候执行暂停操作</td> </tr> <tr> <td style="text-align: left;">POLICY_MINORS_PAYMENTLIMIT</td> <td style="text-align: left;">政策需求-未成年人-支付限制</td> <td style="text-align: left;">null</td> <td style="text-align: left;">无</td> <td style="text-align: left;">客户端检测到用户(未成年人)已经到达充值上限,弹出提示窗,同时会触发该事件。</td> </tr> <tr> <td style="text-align: left;">POLICY_VISITOR_PAYMENTLIMIT</td> <td style="text-align: left;">政策需求-游客-支付限制</td> <td style="text-align: left;">null</td> <td style="text-align: left;">无</td> <td style="text-align: left;">客户端检测到用户(游客)已经到达充值上限,弹出绑定手机界面,同时会触发该事件。</td> </tr> <tr> <td style="text-align: left;">MSPUSH_ON_NOTIFYMESSAGE</td> <td style="text-align: left;">推送-自定义消息到达</td> <td style="text-align: left;"><a href="#jump_custommessage">MsCustomMessage</a></td> <td style="text-align: left;">自定义消息对象</td> <td style="text-align: left;">推送平台发送的自定义消息到达,注意,不是普通消息。自定义消息,只是传递,不会有任何界面上的展示。</td> </tr> <tr> <td style="text-align: left;">OPENINSTALL_WAKEUP_WITH_PARAME</td> <td style="text-align: left;">OPENINSTALL-落地页进入字段透传</td> <td style="text-align: left;"><a href="#jump_msldopeninstallData">MsldOpeninstallData</a></td> <td style="text-align: left;">自定义消息对象</td> <td style="text-align: left;">在落地页进入客户端,初始化完成并且落地页有参数的情况下触发该事件</td> </tr> </tbody> </table> <p><span id="jump_account">MSLDAccount 定义:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">playerId</td> <td style="text-align: left;">String</td> <td>玩家pid</td> </tr> <tr> <td style="text-align: left;">nickName</td> <td style="text-align: left;">String</td> <td>昵称</td> </tr> <tr> <td style="text-align: left;">avatarUrl</td> <td style="text-align: left;">String</td> <td>头像 url 地址</td> </tr> <tr> <td style="text-align: left;">phoneNumber</td> <td style="text-align: left;">String</td> <td>手机号(第四位到第七位为*)</td> </tr> <tr> <td style="text-align: left;">phoneBound</td> <td style="text-align: left;">boolean</td> <td>是否已绑定手机</td> </tr> <tr> <td style="text-align: left;">realNameVerified</td> <td style="text-align: left;">boolean</td> <td>是否已登记实名信息</td> </tr> <tr> <td style="text-align: left;">newPlayer</td> <td style="text-align: left;">boolean</td> <td>是否为新用户</td> </tr> <tr> <td style="text-align: left;">openId</td> <td style="text-align: left;">String</td> <td>乐逗open_id</td> </tr> <tr> <td style="text-align: left;">sessionId</td> <td style="text-align: left;">String</td> <td>登录sessionID</td> </tr> <tr> <td style="text-align: left;">gameId</td> <td style="text-align: left;">String</td> <td>乐逗game_id</td> </tr> <tr> <td style="text-align: left;">passwordSetted</td> <td style="text-align: left;">boolean</td> <td>是否设置密码</td> </tr> <tr> <td style="text-align: left;">realName</td> <td style="text-align: left;">String</td> <td>姓名</td> </tr> <tr> <td style="text-align: left;">lastLoginTime</td> <td style="text-align: left;">String</td> <td>最后登录时间</td> </tr> <tr> <td style="text-align: left;">loginType</td> <td style="text-align: left;">String</td> <td>登录类型</td> </tr> <tr> <td style="text-align: left;">isMinors</td> <td style="text-align: left;">boolean</td> <td>是否是未成年人</td> </tr> <tr> <td style="text-align: left;">isVisitor</td> <td style="text-align: left;">boolean</td> <td>是否是游客账号</td> </tr> <tr> <td style="text-align: left;">thirdPartyOpenId</td> <td style="text-align: left;">String</td> <td>三方OpenId</td> </tr> <tr> <td style="text-align: left;">thirdPartyUnionId</td> <td style="text-align: left;">String</td> <td>三方UnionId</td> </tr> <tr> <td style="text-align: left;">extend</td> <td style="text-align: left;">String</td> <td>扩展字段</td> </tr> </tbody> </table> <p><span id="jump_userinfo_updata">用户信息变更HashMap定义:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">field</td> <td style="text-align: left;">int</td> <td>该次用户信息更新是否包含某项更新,采用无符号整形按位取值的方案</td> </tr> <tr> <td style="text-align: left;">isNew</td> <td style="text-align: left;">int</td> <td>该次用户信息更新中的某项更新是否第一次更新,采用无符号整形按位取值的方案</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;">MSLDAccount</td> <td>用户信息</td> </tr> </tbody> </table> <p><span id="jump_userInfo_field">MSLDUserInfoField定义:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">MSLDUserInfoFieldPhone</td> <td style="text-align: left;">int</td> <td>用户手机</td> </tr> <tr> <td style="text-align: left;">MSLDUserInfoFieldUserName</td> <td style="text-align: left;">int</td> <td>用户昵称</td> </tr> <tr> <td style="text-align: left;">MSLDUserInfoFieldAvatar</td> <td style="text-align: left;">int</td> <td>用户头像</td> </tr> <tr> <td style="text-align: left;">MSLDUserInfoFieldRealName</td> <td style="text-align: left;">int</td> <td>用户实名</td> </tr> <tr> <td style="text-align: left;">MSLDUserInfoFieldPassword</td> <td style="text-align: left;">int</td> <td>用户密码</td> </tr> </tbody> </table> <p><span id="jump_order">支付成功返回data定义:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">orderNo</td> <td style="text-align: left;">String</td> <td>订单ID</td> </tr> <tr> <td style="text-align: left;">totalAmount</td> <td style="text-align: left;">String</td> <td>订单金额</td> </tr> <tr> <td style="text-align: left;">extraInfo</td> <td style="text-align: left;">String</td> <td>透传信息</td> </tr> </tbody> </table> <p><span id="jump_custommessage">MsCustomMessage:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">messageId</td> <td style="text-align: left;">String</td> <td>消息id</td> </tr> <tr> <td style="text-align: left;">extra</td> <td style="text-align: left;">Map</td> <td>自定义消息键值对</td> </tr> <tr> <td style="text-align: left;">message</td> <td style="text-align: left;">String</td> <td>消息内容</td> </tr> <tr> <td style="text-align: left;">senderId</td> <td style="text-align: left;">String</td> <td>发送id</td> </tr> <tr> <td style="text-align: left;">appId</td> <td style="text-align: left;">String</td> <td>应用id</td> </tr> </tbody> </table> <p><span id="jump_msldopeninstallData">MsldOpeninstallData:</span></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">channel</td> <td style="text-align: left;">String</td> <td>渠道号</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">String</td> <td>自定义消息json串</td> </tr> </tbody> </table> <p><strong>接口示例:</strong></p> <pre><code class="language-java">MSLDSDK.registerNotifyListener(new MSLDNotifyListener() { @Override public void notify(int code, String msg, Object data) { switch (code) { case NotifyCode.SWITCH_ACCOUNT: // 切换账号成功 MSLDAccount account = (MSLDAccount )data; break; case NotifyCode.ACCOUNTINFO_UPDATED: // 用户信息更新 HashMap map = (HashMap) data; //该次用户信息更新是否包含某项更新示例: int field = (int) map.get("field"); if ((field &amp; MSLDUserInfoField.MSLDUserInfoFieldPhone) &gt; 0) {//手机绑定发生了改变 } //该次用户信息更新中的某项更新是否第一次更新示例: int isNew = (int) map.get("isNew"); if ((isNew &amp; MSLDUserInfoField.MSLDUserInfoFieldPhone) &gt; 0) {//第一次绑定手机} //用户信息 MSLDAccount account = (MSLDAccount)map.get("account"); break; case NotifyCode.LOGOUT: // 登出 break; case NotifyCode.PAY_SUCCESS: // 支付成功通知 //为保证支付结果传输安全,数据为RSA加密. //RSA公钥获取方式: //1.通过msConfig中的ms_app_public_key字段获取RSA公钥进行解密 //2.通过sdk进行获取: String publicKey = (String) SDKRouter.getInstance().syncAction(ApplicationCache.get(), SdkPath.ROUTE_GET_PUBLIC_KEY, null); byte[] fileValue = publicKey.getBytes(); //RSA解密(该步骤建议放在非java层中处理,提高被破解门槛) String rsaResult = data.toString(); byte[] data_byte = Base64.decode(rsaResult, Base64.NO_WRAP); byte[] decodeByteArray = EncryptUtils.decryptRSA(data_byte, Base64.decode (fileValue, Base64.NO_WRAP), true, "RSA/ECB/PKCS1Padding"); //解密后数据,该数据为json数组,包含一笔或多笔成功订单 //数据格式: // { // "timeStamp": 1585746192299, //时间戳 // "response": [ //订单内容(数组) // { // "orderNo": "TEST100012004012102280001", //订单id // "playerId": "ms", //业务传入用户id // "totalAmount": 0.01, //订单金额 // "payAmount": 0.01, //实际支付金额 // "noticeState": 0, //发货状态 0:未发货 1:已发货 // "success": 1, //支付状态 0:未支付 1:已支付 // "attach": "74ee827f-3179-490b-99f7-839ea0e8ced2", //业务透传字段 // "cpData": "{\"region\": \"区\", \"server\": \"服务器1\"}" //玩家区服信息 // } // ] // } String result = new String(decodeByteArray); JSONObject jsonResult = new JSONObject(result); JSONArray orderArrary = jsonResult.getJSONArray("response"); //遍历所有成功订单 for (int j = 0; j &lt; orderArrary.length(); j++) { //建议业务在发放道具前进行校验,以防恶意刷单 //比如在创建订单时通过透传字段传入订单唯一标识并保存该笔订单信息,此处通过对比保存的订单信息进行校验 JSONObject order = (JSONObject) orderArrary.get(j); String orderNo = order.getString("orderNo"); String playerId = order.getString("playerId"); ..... } break; case NotifyCode.POLICY_MINORS_PLAYTIMELIMIT: // 政策需求-未成年人-时间限制通知 break; case NotifyCode.POLICY_VISITOR_PLAYTIMELIMIT: // 政策需求-游客-时间限制通知 break; case NotifyCode.POLICY_MINORS_PAYMENTLIMIT: // 政策需求-未成年人-支付限制通知 break; case NotifyCode.POLICY_VISITOR_PAYMENTLIMIT: // 政策需求-游客-支付限制通知 break; case NotifyCode.MSPUSH_ON_NOTIFYMESSAGE: // 推送-自定义消息到达 break; case NotifyCode.OPENINSTALL_WAKEUP_WITH_PARAME: MsldOpeninstallData openinstallData = (MsldOpeninstallData )data; break; default: // 其他 break; } } });</code></pre> <h2>异步回调接口</h2> <blockquote> <p>SDK 异步回调的函数原型。以下 API 接口中有使用该回调函数。</p> <p>接口:MSLDCallback</p> </blockquote> <p><strong>成功函数原型:</strong></p> <pre><code class="language-java">void onSuccess(String msg, T data);</code></pre> <p><strong>成功函数参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">T</td> <td>成功结果对象,可能为null</td> </tr> </tbody> </table> <p><strong>失败函数原型:</strong></p> <pre><code class="language-java">void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>失败函数参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误状态码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误结果对象,可能为null</td> </tr> </tbody> </table> <h2>API详情</h2> <h3>摘要</h3> <blockquote> <p>包路径:com.ms.sdk.api</p> <p>类: MSLDSDK</p> <p>描述:SDK唯一提供给游戏接入的API入口类,SDK所有对外开放的接口都将通过该类统一输出</p> </blockquote> <h4>1. 初始化</h4> <p><strong>简要描述:</strong> 初始化 SDK,建议在游戏主Activity的 <code>onCreate()</code> 中调用。</p> <p><strong>函数原型:</strong></p> <pre><code class="language-java">void initSDK(Activity activity, MSLDCallback callback);</code></pre> <p><strong>函数参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">this</td> <td style="text-align: left;">Activity</td> <td>游戏主Activity</td> </tr> <tr> <td style="text-align: left;">callback</td> <td style="text-align: left;">MSLDCallback</td> <td>初始化回调</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <p>可以参考异步回调接口的说明。</p> <h4>2. 获取配置信息</h4> <p><strong>简要描述:</strong></p> <p>获取当前游戏的配置信息。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">返回值</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取游戏配置</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">ROUTE_SDK_CONFIG</td> <td style="text-align: left;">MSLDConfig</td> </tr> </tbody> </table> <p><strong>返回值说明:</strong></p> <p>MSLDConfig定义:</p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">isTrial</td> <td style="text-align: left;">boolean</td> <td>是否提审模式</td> </tr> <tr> <td style="text-align: left;">appId</td> <td style="text-align: left;">String</td> <td>AppId</td> </tr> <tr> <td style="text-align: left;">appKey</td> <td style="text-align: left;">String</td> <td>Appkey</td> </tr> <tr> <td style="text-align: left;">publicKey</td> <td style="text-align: left;">String</td> <td>PublicKey</td> </tr> <tr> <td style="text-align: left;">channelId</td> <td style="text-align: left;">String</td> <td>渠道Id</td> </tr> <tr> <td style="text-align: left;">channelGroupId</td> <td style="text-align: left;">String</td> <td>渠道组Id</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDConfig config = MSLDSDK.syncAction(MainActivity.this, SdkPath.ROUTE_SDK_CONFIG, null);</code></pre> <h4>3. 登录</h4> <blockquote> <p>SDK 提供三种登录 API,通过打开登录面板登录(支持极光一键登录、游客、用户名和密码、手机号+验证码登录方式)、游客登录以及自动登录。</p> </blockquote> <h5>3.1 登录面板</h5> <p><strong>简要描述:</strong></p> <p>拉起SDK登录面板。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">登录面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td>登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.2 游客登录</h5> <p><strong>简要描述:</strong></p> <p>使用游客身份登录SDK,重复调用时会登录到同一账户。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">登录面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_GUEST_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td>登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.3 自动登录</h5> <p><strong>简要描述:</strong></p> <p>使用用户登录过的账户登录,建议游戏启动后尝试使用此接口登录,如若自动登录不成功,再显示其他登录方式</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">登录面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_AUTO_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td>登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.3 用户名+密码登录</h5> <p><strong>简要描述:</strong></p> <p>用户注册且设置密码成功后,可通过用户名+密码登录</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">用户名密码登录</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_USERNAME_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_USER_NAME</td> <td style="text-align: left;">String</td> <td style="text-align: left;">用户名</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_PASSWORD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">密码</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td>登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.4 手机号+验证码登录</h5> <p><strong>简要描述:</strong></p> <p>用户可通过手机号+验证码登录,无需注册</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">手机号+验证码登录</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_PHONE_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">验证码</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td>登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.5 微信登录</h5> <p><strong>简要描述:</strong></p> <p>用户可通过微信登录,无需注册 微信参数和配置,请查看:SDK集成文档 -&gt; 微信分享</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">微信登录</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_WECHAT_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td style="text-align: left;">登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.6 QQ登录</h5> <p><strong>简要描述:</strong></p> <p>用户可通过QQ登录,无需注册。 QQ参数和配置,请查看:SDK集成文档 -&gt; QQ分享</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">微信登录</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_QQ_LOGIN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback&lt;MSLDAccount&gt; { void onSuccess(String msg, MSLDAccount account); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td style="text-align: left;">登录成功的用户信息</td> </tr> </tbody> </table> <h5>3.7 登出</h5> <p><strong>简要描述:</strong></p> <p>登出后,将清除本次的登录信息。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">登出</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_LOGOUT</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.8 获取短信验证码</h5> <p><strong>简要描述:</strong></p> <p>用户在进行 “手机号+验证码登录”等操作时,需要提前获取手机的短信验证码。</p> <p>验证码使用场景说明:</p> <table> <thead> <tr> <th style="text-align: left;">验证码使用场景</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">手机号 + 验证码登录</td> </tr> <tr> <td style="text-align: left;">绑定手机号</td> </tr> <tr> <td style="text-align: left;">更换手机号</td> </tr> <tr> <td style="text-align: left;">重置密码</td> </tr> <tr> <td style="text-align: left;">检查验证码是否正确</td> </tr> </tbody> </table> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取验证码</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_GET_VERIFY_CODE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.9 检查短信验证码</h5> <p><strong>简要描述:</strong></p> <p>检查获取的短信验证码是否正确。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取验证码</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_CHECK_VERIFY_CODE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">验证码</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.10 查询手机号绑定的帐号信息</h5> <p><strong>简要描述:</strong></p> <p>一般有以下3种情况需要用到:</p> <ul> <li>用户绑定之前,先检查该手机号是否已被其他帐号绑定,如果是,则由此触发二选一。</li> <li>更换手机号之前,检查该手机号是否已经被绑定,如果是,则不应继续操作,直接提示更换手机号失败。</li> <li>在重置密码之前,检查该手机号是否有当前业务帐号,如果否,则不应允许重置密码。</li> </ul> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">查询手机号绑定的帐号信息</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_QUERY_PHONE_BIND_ACCOUNT</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">String类型:手机号下有帐号时格式:{&quot;playerId&quot;:3800796693,&quot;lastLoginTime&quot;:1565767104}; 手机号下无帐号时格式:{&quot;playerId&quot;:0,&quot;lastLoginTime&quot;:0}</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.11 绑定手机号</h5> <p><strong>简要描述:</strong></p> <p>在游客、微信、QQ等登录后,获取到绑定手机号的验证码之后使用,完成帐号与手机号的绑定</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">绑定手机号</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_BIND_PHONE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">验证码</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.12 更换手机号</h5> <p><strong>简要描述:</strong></p> <p>用户绑定手机号后,更换绑定的手机号。 需输入旧手机号和验证码,以及新手机号与验证码</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">更换手机号</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_CHANGE_BIND_PHONE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_OLD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">旧手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE_OLD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">旧手机号验证码</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NEW</td> <td style="text-align: left;">String</td> <td style="text-align: left;">新手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE_NEW</td> <td style="text-align: left;">String</td> <td style="text-align: left;">新手机号验证码</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.13 设置密码</h5> <p><strong>简要描述:</strong></p> <p>手机号登录后,可设置密码以便后期直接使用 “手机号+密码” 登录 注意:必须要绑定手机号,才能设置密码</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">设置密码</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_SET_PASSWORD</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PASSWORD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">密码(6-20位字符)</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.14 修改密码</h5> <p><strong>简要描述:</strong></p> <p>已经设置密码的用户,根据旧密码重新设置新密码 注意:必须要绑定手机号,才能修改密码</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">修改密码</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_CHANGE_PASSWORD</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_OLD_PASSWORD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">旧密码(6-20位字符)</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_NEW_PASSWORD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">新密码(6-20位字符)</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.15 重置密码</h5> <p><strong>简要描述:</strong></p> <p>根据手机号和验证码重置密码</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">重置密码</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_RESET_PASSWORD</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_PHONE_NUMBER</td> <td style="text-align: left;">String</td> <td style="text-align: left;">手机号</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_SMS_VERIFICATION_CODE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">验证码</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_NEW_PASSWORD</td> <td style="text-align: left;">String</td> <td style="text-align: left;">新密码(6-20位字符)</td> <td style="text-align: left;">是</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.16 获取用户协议</h5> <p><strong>简要描述:</strong></p> <p>获取后台配置的用户协议。 可直接获取用户协议内容(html格式),进行展示。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取用户协议</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_USER_AGREEMENT</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,json格式的内容字符串,如:{“version”:“1.0”,“content”:“html格式内容”}</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.17 获取隐私政策</h5> <p><strong>简要描述:</strong></p> <p>获取后台配置的用户协议。 可直接获取隐私政策内容(html格式),进行展示。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取隐私政策</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_PRIVATE_AGREEMENT</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,json格式的内容字符串,如:{“version”:“1.0”,“content”:“html格式内容”}</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.18 用户协议(带UI)</h5> <p><strong>简要描述:</strong></p> <p>展示用户协议面板。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th>功能名称</th> <th>调用类型</th> <th>功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>用户协议</td> <td>异步调用</td> <td>AccountPath.ROUTE_ACCOUNT_USER_AGREEMENT</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>int</td> <td>错误码</td> </tr> <tr> <td>data</td> <td>Object</td> <td>回调数据,json格式的内容字符串,如:{“version”:“1.0”,“content”:“html格式内容”}</td> </tr> <tr> <td>msg</td> <td>String</td> <td>状态详情</td> </tr> <tr> <td>errorData</td> <td>Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.19 隐私政策(带UI)</h5> <p><strong>简要描述:</strong></p> <p>展示隐私政策面板。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th>功能名称</th> <th>调用类型</th> <th>功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>隐私政策</td> <td>异步调用</td> <td>AccountPath.ROUTE_ACCOUNT_PRIVATE_AGREEMENT</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th>参数名</th> <th>类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td>code</td> <td>int</td> <td>错误码</td> </tr> <tr> <td>data</td> <td>Object</td> <td>回调数据,json格式的内容字符串,如:{“version”:“1.0”,“content”:“html格式内容”}</td> </tr> <tr> <td>msg</td> <td>String</td> <td>状态详情</td> </tr> <tr> <td>errorData</td> <td>Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <h5>3.20. 极光一键登录</h5> <blockquote> <p>该功能从MSSDK 1.5.0版本开始支持。</p> </blockquote> <p><strong>简要描述:</strong></p> <p>拉起极光一键登录授权页,用户点击“手机一键登录”授权后完成登录流程 </p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">极光一键登录</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_JIGUANG_LOGIN</td> <td style="text-align: left;">-</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">KEY_AGREEMENT_CHECKED</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>是否勾选同意协议 &quot;1&quot; = 同意协议</td> </tr> <tr> <td style="text-align: left;">KEY_JIGUANG_LOGIN_LOGO</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>极光授权页面上的logo,传入值为图片名称,不传默认显示“乐逗游戏”图标,需将图片放置到项目res/drawable-xxhdpi文件夹,对应图片大小图片大小为390px*159px</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> <tr> <td style="text-align: left;">account</td> <td style="text-align: left;"><a href="#jump_account">MSLDAccount</a></td> <td style="text-align: left;">登录成功的用户信息</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity, AccountPath.ROUTE_ACCOUNT_DIRECT_JIGUANG_LOGIN, new HashMap(){ { put(AccountParam.KEY_AGREEMENT_CHECKED, "1"); put(AccountParam.KEY_JIGUANG_LOGIN_LOGO, "login_logo"); } }, new MSLDCallback&lt;MSLDAccount&gt;() { @Override public void onSuccess(String msg, @Nullable MSLDAccount msldAccount) { } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <h4>4. 打开用户中心面板</h4> <p><strong>简要描述:</strong></p> <p>拉起个人中心面板。</p> <p><strong>注意:</strong></p> <p>若要使用该功能则必须集成MSLDSDKUI插件且是已登录状态</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">个人中心面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_USER_CENTER</td> <td style="text-align: left;"></td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback { void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h4>5. 获取用户信息</h4> <blockquote> <p>该接口可以获取登录用户的数据。</p> </blockquote> <p><strong>简要描述:</strong> 获取当前登录的用户信息。</p> <p><strong>注意:</strong> 只有在登录状态下能获取到用户信息,没有登录返回空</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">返回值</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取用户信息</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_LOGINED_USER_INFO</td> <td style="text-align: left;">MSLDAccount</td> </tr> </tbody> </table> <p><strong>返回值说明:</strong></p> <p>可以查看 <a href="#jump_account">MSLDAccount定义</a></p> <p><strong>示例:</strong> </p> <pre><code class="language-java">MSLDAccount account = MSLDSDK.syncAction(this,AccountPath.ROUTE_ACCOUNT_LOGINED_USER_INFO,null);</code></pre> <h4>6. 实名认证</h4> <h5>6.1. 打开实名认证面板</h5> <blockquote> <p>SDK 提供的快速实名认证功能。 打开实名认证面板</p> </blockquote> <p><strong>简要描述:</strong> 拉起实名认证面板。</p> <p><strong>注意:</strong> 若要使用该功能则必须集成MSLDSDKUI插件且是已登录状态</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">实名认证面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_AUTHENTICATION</td> <td style="text-align: left;"></td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h6>6.2 实名认证接口</h6> <blockquote> <p>可以直接使用该接口(不包含UI,开发者可以自定义UI界面)进行实名认证。</p> </blockquote> <p><strong>简要描述:</strong></p> <p>使用&quot;姓名+身份证号&quot;实现实名功能。 目前仅提供大陆身份证号实名方式。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">实名认证</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_AUTHENTICATION</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">AccountParam.KEY_REAL_NAME</td> <td style="text-align: left;">String</td> <td style="text-align: left;">姓名</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">AccountParam.KEY_CARD_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">身份证</td> <td style="text-align: left;">-</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td style="text-align: left;">错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td style="text-align: left;">状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td style="text-align: left;">错误数据,可能为空</td> </tr> </tbody> </table> <h4>7. 支付</h4> <blockquote> <p>SDK 提供两种支付 API,通过打开支付面板(支持支付宝和微信)以及指定支付方式进行支付。 为避免支付被盗刷的风险,SDK增加支付校验处理。游戏需按照</p> </blockquote> <h5>7.1 支付面板</h5> <p><strong>简要描述:</strong> 打开支付面板</p> <p><strong>注意:</strong> 若要使用该功能则必须是已登录状态</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">打开支付面板</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">PaymentPath.ROUTE_PAY_CHARGE</td> <td style="text-align: left;">-</td> </tr> </tbody> </table> <p><strong>HashMap参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">PaymentParam.PAY_NOTICEURL</td> <td style="text-align: left;">String</td> <td style="text-align: left;">支付回调地址</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PLAYER_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">玩家编号</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_MCH_ORDER_NO</td> <td style="text-align: left;">String</td> <td style="text-align: left;">商户订单号,即游戏CP订单号, 选填</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_DES</td> <td style="text-align: left;">String</td> <td style="text-align: left;">商品描述</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_SUBJECT</td> <td style="text-align: left;">String</td> <td style="text-align: left;">订单标题</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRICE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">价格 ,值为float类型字符串</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_ATTACH</td> <td style="text-align: left;">String</td> <td style="text-align: left;">透传字段,创建成功和查询接口会原样返回</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_LIST</td> <td style="text-align: left;">JsonArray</td> <td style="text-align: left;">商品信息列表,一笔订单可能包含多个商品,详情见<a href="https://www.showdoc.cc/mssdk?page_id=2638430478177500">接入文档</a></td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">道具ID</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_QUANTITY</td> <td style="text-align: left;">int</td> <td style="text-align: left;">购买数量</td> </tr> </tbody> </table> <p>透传字段 定义: 支付时,将随机数作为 extral传入, extral需要和支付的道具进行绑定,保存在本地数据库 收到[事件回调处理-支付成功通知]的时候,需要通过RSA解密,获得 extral,通过 extral 去本地数据库查询后,再下发道具。并进行[订单消费结果上报]</p> <p><strong>回调声明:</strong></p> <p>MSLDPayCallback 定义</p> <pre><code class="language-java">void onComplete(); void onCancel(); void onFail(int code, String msg);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">HashMap&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); //支付回调地址,如游戏为客户端发货或使用微服务控制台配置的回调地址,则此处不需要传入。如传入则默认使用该地址 map.put(PaymentParam.PAY_NOTICEURL,"http://*****"); // 商品支付 直接传入价格 map.put(PaymentParam.PAY_PLAYER_ID, "游戏用户id"); map.put(PaymentParam.PAY_MCH_ORDER_NO, " cp自己的订单号,如果没有就不用填写"); map.put(PaymentParam.PAY_PRODUCT_DES, "平台支付描述"); map.put(PaymentParam.PAY_SUBJECT, "平台支付订单标题"); map.put(PaymentParam.PAY_PRICE, "6"); map.put(PaymentParam.PAY_ATTACH, "透传信息"); // 平台支付 平台需配置道具文件 map.put(PaymentParam.PAY_PLAYER_ID, "游戏用户id"); map.put(PaymentParam.PAY_MCH_ORDER_NO, "cp自己的订单号,如果没有就不用填写"); map.put(PaymentParam.PAY_ATTACH, "透传信息"); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(PaymentParam.PAY_PRODUCT_ID, "道具id"); jsonObject.addProperty(PaymentParam.PAY_QUANTITY, 1); JsonArray jsonArray = new JsonArray(); jsonArray.add(jsonObject); map.put(PaymentParam.PAY_PRODUCT_LIST, jsonArray.toString()); MSLDSDK.action(this, PaymentPath.ROUTE_PAY_CHARGE, map, new MSLDPayCallback() { @Override public void onComplete() { show("支付完成"); } @Override public void onCancel() { show("支付取消"); } @Override public void onFail(int code, String msg) { show(msg); } });</code></pre> <h5>7.2 指定支付方式支付</h5> <p><strong>简要描述:</strong> 指定支付方式支付</p> <p><strong>注意:</strong> 若要使用该功能则必须是已登录状态</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">指定支付方式支付</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">PaymentPath.ROUTE_PAY_BY_METHOD_ID</td> <td style="text-align: left;"></td> </tr> </tbody> </table> <p><strong>HashMap参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">PaymentParam.PAY_PLAYER_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">用户唯一标识,可以传入openid或者playerid</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_MCH_ORDER_NO</td> <td style="text-align: left;">String</td> <td style="text-align: left;">商户订单号,即游戏CP订单号, 选填</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_DES</td> <td style="text-align: left;">String</td> <td style="text-align: left;">商品描述</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_SUBJECT</td> <td style="text-align: left;">String</td> <td style="text-align: left;">订单标题</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRICE</td> <td style="text-align: left;">String</td> <td style="text-align: left;">价格 ,值为float类型字符串</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_ATTACH</td> <td style="text-align: left;">String</td> <td style="text-align: left;">透传字段,创建成功和查询接口会原样返回</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_LIST</td> <td style="text-align: left;">JsonArray</td> <td style="text-align: left;">商品信息列表 (一笔订单可能包含多个商品,详情见接入文档 )</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_PRODUCT_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">道具ID</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_QUANTITY</td> <td style="text-align: left;">int</td> <td style="text-align: left;">购买数量</td> </tr> <tr> <td style="text-align: left;">PaymentParam.PAY_IDENTIFY</td> <td style="text-align: left;">string</td> <td style="text-align: left;">支付标识,由乐逗微服务控制台分配,微信支付:wxPay_H5/支付宝: aliPay_H5</td> </tr> </tbody> </table> <p><strong>注意:PaymentParam.PAY_PLAYER_ID 建议接入者如果接入了乐逗登录,务必传入openid或者playerid或者游戏用户的唯一标识;如果没有接入乐逗登录模块,可以自定义一个唯一用户标识</strong></p> <p><strong>extral</strong> 定义: 支付时,将随机数作为 [extral ]传入, [extral ]需要和支付的道具进行绑定,保存在本地数据库 收到[事件回调处理-支付成功通知] 的时候,需要通过RSA解密,获得 [extral],通过 [extral] 去本地数据库查询后,再下发道具。并进行 <a href="#jump_consume">订单消费结果上报</a></p> <p><strong>回调声明:</strong></p> <p>MSLDPayCallback 定义</p> <pre><code class="language-java">void onComplete(); void onCancel(); void onFail(int code, String msg);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">HashMap&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); //支付回调地址,如游戏为客户端发货或使用微服务控制台配置的回调地址,则此处不需要传入。如传入则默认使用该地址 map.put(PaymentParam.PAY_NOTICEURL,"http://*****"); // 商品支付 直接传入价格 map.put(PaymentParam.PAY_PLAYER_ID, "游戏用户id"); map.put(PaymentParam.PAY_MCH_ORDER_NO, "cp自己的订单号,如果没有就不用填写"); map.put(PaymentParam.PAY_PRODUCT_DES, "平台支付描述"); map.put(PaymentParam.PAY_SUBJECT, "平台支付订单标题"); map.put(PaymentParam.PAY_PRICE, "6"); map.put(PaymentParam.PAY_ATTACH, "透传信息"); // 平台支付 平台需配置道具文件 map.put(PaymentParam.PAY_PLAYER_ID, "游戏用户id"); map.put(PaymentParam.PAY_MCH_ORDER_NO, "cp自己的订单号,如果没有就不用填写"); map.put(PaymentParam.PAY_ATTACH, "透传信息"); JsonObject jsonObject = new JsonObject(); jsonObject.addProperty(PaymentParam.PAY_PRODUCT_ID, "道具id"); jsonObject.addProperty(PaymentParam.PAY_QUANTITY, 1); JsonArray jsonArray = new JsonArray(); jsonArray.add(jsonObject); map.put(PaymentParam.PAY_PRODUCT_LIST, jsonArray.toString()); // 支付标识,由乐逗微服务控制台分配, 微信支付:wxPay_H5 alipay: aliPay_H5 map.put(PaymentParam.PAY_IDENTIFY, "aliPay_H5"); MSLDSDK.action(this, PaymentPath.ROUTE_PAY_BY_METHOD_ID, map, new MSLDPayCallback() { @Override public void onComplete() { show("支付完成"); } @Override public void onCancel() { show("支付取消"); } @Override public void onFail(int code, String msg) { show(msg); } });</code></pre> <h5>7.3 订单消费结果上报</h5> <p><strong>简要描述:</strong></p> <p><span id="jump_consume">订单消费结果上报</span></p> <p><strong>注意:</strong> 若要使用该功能则必须收到[事件回调处理-支付成功通知] 且返回数据不为空的情况下</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">订单消费结果上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">PaymentPath.ROUTE_PAY_REPORT_COMSUMED</td> <td style="text-align: left;"></td> </tr> </tbody> </table> <p><strong>HashMap参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">orderId</td> <td style="text-align: left;">String</td> <td style="text-align: left;">订单ID</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">HashMap&lt;String, Object&gt; params = new HashMap&lt;&gt;(); params.put("orderNo", "sdk支付订单号"); MSLDSDK.action(this, PaymentPath.ROUTE_PAY_REPORT_COMSUMED, params, new MSLDCallback() { @Override public void onSuccess(String s, @Nullable Object o) { Log.i(TAG, "onSuccess: 已发货的结果通知成功 s = " + s); } @Override public void onFail(int i, String s, @Nullable Object o) { Log.w(TAG, "onFail: 已发货的结果通知成功 i = " + i + "; s = " + s); } });</code></pre> <h4>8.生命周期</h4> <h5>8.1 Application生命周期</h5> <p><strong>类:</strong> MSLDSDK.App</p> <p><strong>简要描述:</strong> Application 生命周期监听接口,共5个,每一个接口都需要进行接入。</p> <p><strong>函数原型:</strong></p> <pre><code class="language-java">public static void onCreate(Application application) public static void attachBaseContext(Application application, Context base) public static void onLowMemory(Application application) public static void onTrimMemory(Application application, int level) public static void onConfigurationChanged(Application application, Configuration newConfig) </code></pre> <h5>8.2 Activity生命周期</h5> <p><strong>类:</strong> MSLDSDK.Act</p> <p><strong>简要描述:</strong> Activity 生命周期监听接口,共11个,每一个接口都需要进行接入。</p> <p><strong>函数原型:</strong> </p> <pre><code class="language-java">public static void onCreate(Activity activtiy, Bundle savedInstanceState); public static void onRestart(Activity activtiy); public static void onStart(Activity activtiy); public static void onResume(Activity activtiy); public static void onPause(Activity activtiy); public static void onStop(Activity activtiy); public static void onDestroy(Activity activtiy); public static void onSaveInstanceState(Activity activtiy, Bundle outState); public static void onNewIntent(Activity activity,Intent intent); public static void onActivityResult(Activity activtiy, int requestCode, int resultCode, Intent data); public static void onRequestPermissionsResult(Activity activtiy, int requestCode, String[] permissions, int[] paramArrayOfInt);</code></pre> <h4>9. 分享</h4> <blockquote> <p>提供微信、QQ各个场景下的分享图片、链接等功能。</p> </blockquote> <h5>9.1 查询当前设备是否安装微信或QQ</h5> <p><strong>简要描述</strong></p> <p>查询当前设备是否安装微信或QQ</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">查询当前设备是否安装微信或QQ</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_ISINSTALL</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">appName</td> <td style="text-align: left;">String</td> <td>wechat或qq要查询的app,微信或QQ</td> </tr> </tbody> </table> <p><strong>返回值说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">String</td> <td>传入的软件是否有安装,1=已安装, 0=未安装</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">String config = MSLDSDK.syncAction(MainActivity.this, SharePath.ROUTE_SHARE_ISINSTALL);</code></pre> <h5>9.2 微信分享图片到会话</h5> <p><strong>简要描述</strong> 分享一张图片到指定的微信会话中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享图片</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">[String]</td> <td>分享场景,详见下表[RouteParam说明]</td> </tr> <tr> <td style="text-align: left;">image</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>图片的本地路径或者图片的二进制数据,需将byte[]转换成String类型,内容大小不超过10MB</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到</td> </tr> <tr> </tr> </tbody> </table> <h5>9.3 微信分享图片到朋友圈</h5> <p><strong>简要描述</strong> 分享一张图片到朋友圈中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享图片</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">[String]</td> <td>分享场景,详见下表[RouteParam说明]</td> </tr> <tr> <td style="text-align: left;">image</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>图片的本地路径或者图片的二进制数据,需将byte[]转换成String类型</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.4 微信分享链接到会话</h5> <p><strong>简要描述</strong> 分享某个链接到指定的微信会话中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享链接</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表[RouteParam说明]</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过32kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>要分享的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.5 微信分享链接到朋友圈</h5> <p><strong>简要描述</strong> 分享某个链接到指定的微信会话中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享链接</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表[RouteParam说明]</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过32kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>要分享的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.6 微信分享小程序</h5> <p><strong>简要描述</strong> 分享某个小程序到指定的微信会话</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">微信分享小程序</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_MINI_PROGRAM</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必传参数</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">userName</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>微信小程序原始ID</td> </tr> <tr> <td style="text-align: left;">path</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>打开小程序的路径</td> </tr> <tr> <td style="text-align: left;">miniprogramType</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>小程序场景类型 (0:正式版 1:开发版 2:体验版)</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过128kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>兼容微信低版本的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> <tr> <td style="text-align: left;">withShareTicket</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>是否使用带shareTicket的分享,@&quot;1&quot; = 携带,@&quot;0&quot; = 不带,默认不带</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.7 微信打开小程序</h5> <p><strong>简要描述</strong> 打开某个指定的小程序</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">微信打开小程序</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_LAUNCH_MINI_PROGRAM</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微信</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">必传参数</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">userName</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>微信小程序原始ID</td> </tr> <tr> <td style="text-align: left;">path</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>打开小程序的路径,不填默认打开小程序首页</td> </tr> <tr> <td style="text-align: left;">miniprogramType</td> <td style="text-align: left;">否</td> <td style="text-align: left;">int</td> <td>小程序场景类型 (0:正式版 1:开发版 2:体验版)</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">HashMap&lt;String, Object&gt; map = new HashMap&lt;String, Object&gt;(); map.put("userName", "微信小程序原始ID"); map.put("path", "pages/index"); map.put("miniprogramType", "0"); MSLDSDK.action(this, SharePath.ROUTE_SHARE_LAUNCH_MINI_PROGRAM, map,null);</code></pre> <h5>9.8 QQ分享图片到好友</h5> <p><strong>简要描述</strong> 分享一张图片到指定的QQ会话中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享图片</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装QQ</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表</td> </tr> <tr> <td style="text-align: left;">image</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>图片的本地路径,对应图片内容大小不超过10MB</td> </tr> </tbody> </table> <p><strong>分享场景说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <h5>9.9 QQ分享图片到Qzone</h5> <p><strong>简要描述</strong> 分享一张图片到Qzone中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享图片</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装QQ</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表</td> </tr> <tr> <td style="text-align: left;">image</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>图片的本地路径,对应图片内容大小不超过10MB</td> </tr> </tbody> </table> <p><strong>分享场景说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <h5>9.10 QQ分享链接到好友</h5> <p><strong>简要描述</strong> 分享某个链接到指定的QQ会话中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享链接</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装QQ</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表RouteParam说明</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过32kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>要分享的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.11 QQ分享链接到Qzone</h5> <p><strong>简要描述</strong> 分享某个链接到Qzone中</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享链接</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装QQ</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表RouteParam说明</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过32kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>要分享的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h5>9.12 微博分享图片</h5> <p><strong>简要描述</strong> 分享一张图片到微博</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享图片</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_IMAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微博</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表</td> </tr> <tr> <td style="text-align: left;">image</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>图片的本地路径,图片尺寸大于92x92,文件体积小于500k;</td> </tr> <tr> <td style="text-align: left;">text</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>分享的文本内容</td> </tr> </tbody> </table> <p><strong>分享场景说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <h5>9.13 微博分享链接</h5> <p><strong>简要描述</strong> 分享某个链接到微博</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">分享链接</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">SharePath.ROUTE_SHARE_WEBPAGE</td> <td style="text-align: left;">使用该功能前请先调用接口判断是否安装微博</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否已定义为常量</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">scene</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>分享场景,详见下表RouteParam说明</td> </tr> <tr> <td style="text-align: left;">thumbImage</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>缩略图片的二进制数据,需将byte[]转换成String类型,内容大小不超过32kb</td> </tr> <tr> <td style="text-align: left;">webpageUrl</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>要分享的链接,内容不超过10MB</td> </tr> <tr> <td style="text-align: left;">title</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接标题,内容不超过512b</td> </tr> <tr> <td style="text-align: left;">description</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>链接描述,内容不超过1kb</td> </tr> <tr> <td style="text-align: left;">text</td> <td style="text-align: left;">否</td> <td style="text-align: left;">String</td> <td>分享的文本内容</td> </tr> </tbody> </table> <p><strong>RouteParam说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_SESSION</td> <td style="text-align: left;">String</td> <td>分享到微信会话</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WECHAT_TIMELINE</td> <td style="text-align: left;">String</td> <td>分享到微信朋友圈</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_FRIENDS</td> <td style="text-align: left;">String</td> <td>分享到QQ好友</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_QQ_QZONE</td> <td style="text-align: left;">String</td> <td>分享到QQ空间</td> </tr> <tr> <td style="text-align: left;">ShareParam.SHARE_WEIBO</td> <td style="text-align: left;">String</td> <td>分享到微博</td> </tr> </tbody> </table> <p><strong>回调声明:</strong></p> <pre><code class="language-java">void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData);</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>错误详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> </tbody> </table> <h4>10.广告追踪</h4> <blockquote> <p>提供广告追踪能力,广告的下载与登录转化的统计功能。</p> </blockquote> <h5>10.1.注册上报</h5> <p><strong>简要描述</strong> 上报注册事件</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">注册上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">advertisement/register</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">loginMethod</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>注册方式,qq/moblie/weixin</td> </tr> </tbody> </table> <h5>10.1.登录上报</h5> <p><strong>简要描述</strong> 上报登录事件</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">登录上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">advertisement/login</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">playerId</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>登录用户的playerId</td> </tr> <tr> <td style="text-align: left;">loginMethod</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>登录方式,qq/moblie/weixin</td> </tr> </tbody> </table> <h5>10.2.消费上报</h5> <p><strong>简要描述</strong> 上报消费、购买事件</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">消费上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">advertisement/purchase</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">playerId</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>登录用户的playerId</td> </tr> <tr> <td style="text-align: left;">amount</td> <td style="text-align: left;">是</td> <td style="text-align: left;">Float</td> <td>购买金额</td> </tr> </tbody> </table> <h5>10.3.自定义上报</h5> <p><strong>简要描述</strong> 上报自定义事件</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">自定义事件上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">advertisement/customevent</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">key</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>事件名称</td> </tr> <tr> <td style="text-align: left;">value</td> <td style="text-align: left;">是</td> <td style="text-align: left;">Json String</td> <td>自定义信息</td> </tr> </tbody> </table> <p><strong>注意:升级和创建角色两个事件通过customEvent实现</strong></p> <pre><code> 升级: key:level_up value:{"level":"20(等级)"} 创建角色: key:create_role value:{"id":"roid_id(用户id)"}</code></pre> <h5>10.4.广告点击事件上报</h5> <p><strong>简要描述</strong> 上报广告的点击事件</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">消费上报</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">advertisement/adclick</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">platformType</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>广告平台名称,详见广告平台附表</td> </tr> <tr> <td style="text-align: left;">displayType</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>广告类型,详见广告类型附表</td> </tr> </tbody> </table> <p><strong>广告平台附表</strong></p> <table> <thead> <tr> <th style="text-align: left;">广告平台名称</th> <th style="text-align: left;">取值</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">未知广告平台</td> <td style="text-align: left;">0</td> </tr> <tr> <td style="text-align: left;">腾讯优良汇</td> <td style="text-align: left;">1</td> </tr> <tr> <td style="text-align: left;">穿山甲</td> <td style="text-align: left;">2</td> </tr> <tr> <td style="text-align: left;">百度移动联盟</td> <td style="text-align: left;">3</td> </tr> <tr> <td style="text-align: left;">Vungle</td> <td style="text-align: left;">4</td> </tr> <tr> <td style="text-align: left;">Unity</td> <td style="text-align: left;">5</td> </tr> <tr> <td style="text-align: left;">Inmobi</td> <td style="text-align: left;">6</td> </tr> <tr> <td style="text-align: left;">Adcolony</td> <td style="text-align: left;">7</td> </tr> <tr> <td style="text-align: left;">Mobvista</td> <td style="text-align: left;">8</td> </tr> <tr> <td style="text-align: left;">Uniplay</td> <td style="text-align: left;">9</td> </tr> </tbody> </table> <p><strong>广告类型附表附表</strong></p> <table> <thead> <tr> <th style="text-align: left;">广告类型</th> <th style="text-align: left;">取值</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">未知广告类型</td> <td style="text-align: left;">0</td> </tr> <tr> <td style="text-align: left;">视频广告</td> <td style="text-align: left;">1</td> </tr> <tr> <td style="text-align: left;">插页广告</td> <td style="text-align: left;">2</td> </tr> <tr> <td style="text-align: left;">banner广告</td> <td style="text-align: left;">3</td> </tr> </tbody> </table> <h4>11 问卷调查</h4> <h5>11.1 问卷调查是否可用</h5> <p><strong>简要描述:</strong></p> <p>获取当前问卷调查功能是否可用,只要该接口返回true,才能调用<code>打开问卷调查</code>的接口。</p> <p>需要在微服务业务后台配置:问卷开关和问卷地址链接,否则返回false</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">问卷调查是否可用</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">QuestionnairePath.ROUTE_QUESTIONNAIRE_ISENABLE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">//返回值isEnable是boolean类型 Object isEnable = MSLDSDK.syncAction(activity, QuestionnairePath.ROUTE_QUESTIONNAIRE_ISENABLE, null);</code></pre> <h5>11.2 打开问卷调查</h5> <p><strong>简要描述:</strong></p> <p>打开问卷调查页面,前提是问卷调查可用,建议调用该接口之前先调用<code>11.1 问卷调查是否可用</code>的接口。</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">打开问卷调查</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">QuestionnairePath.ROUTE_QUESTIONNAIRE_OPEN</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数key名称</th> <th style="text-align: left;">参数类型</th> <th style="text-align: left;">说明</th> <th style="text-align: left;">是否必传</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_PLAYER_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">用户ID</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_SERVER_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">区服ID</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_ROLE_ID</td> <td style="text-align: left;">String</td> <td style="text-align: left;">角色ID</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_LEVEL</td> <td style="text-align: left;">String</td> <td style="text-align: left;">等级</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_ACCRUING_AMOUNTS</td> <td style="text-align: left;">String</td> <td style="text-align: left;">累计金额</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_CONSECUTIVE_DAYS</td> <td style="text-align: left;">String</td> <td style="text-align: left;">连续登陆天数</td> <td style="text-align: left;">是</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_EXTRA</td> <td style="text-align: left;">String</td> <td style="text-align: left;">扩展参数</td> <td style="text-align: left;">否</td> </tr> <tr> <td style="text-align: left;">QuestionnaireParam.KEY_URL</td> <td style="text-align: left;">String</td> <td style="text-align: left;">1.4.2版本开始支持。 客户端决定的问卷URL地址。如果客户端传入了此值,问卷调查将优先使用传入的值作为问卷地址展示给用户。如果此值为空,则使用后台配置的默认问卷地址。</td> <td style="text-align: left;">否</td> </tr> </tbody> </table> <h3>12 获取微信昵称和头像</h3> <p><strong>简要描述:</strong> </p> <p>获取微信昵称和头像,微信授权成功并同步完信息后会返回新的MSLDAccount对象</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取微信昵称和头像</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AccountPath.ROUTE_ACCOUNT_DIRECT_SYNC_WECHAT_INFO</td> <td>无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong> 无需传参</p> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据,MSLDAccount类型,包含授权后的昵称和头像</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> MSLDSDK.action(activity, AccountPath.ROUTE_ACCOUNT_DIRECT_SYNC_WECHAT_INFO, null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, " ==&gt; success : " + msg); if (null!=data &amp;&amp; data instanceof MSLDAccount){ MSLDAccount account = (MSLDAccount) data; Log.i(TAG, "nickName " + account.nickName + " headImage:"+account.avatarUrl); } } @Override public void onFail(int code, String msg, @Nullable Object errorData) { Log.i(TAG, "==&gt; onFail " +code +": "+msg); } });</code></pre> <h3>13 LBS</h3> <h4>13.1 获取附近的用户列表 LBS</h4> <p><strong>简要描述:</strong> </p> <p>获取附近玩家用户列表,此功能依赖定位权限,需要接入方提前申请好位置权限</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取附近玩家用户列表</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">LbsPath.ROUTE_LBS_SEARCHNEARBY</td> <td>无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">LbsParam.KEY_SORT</td> <td style="text-align: left;">String</td> <td>距离排序:desc由远及近/asc有近及远搜索</td> </tr> <tr> <td style="text-align: left;">LbsParam.KEY_PAGEINDEX</td> <td style="text-align: left;">int</td> <td>页索引</td> </tr> <tr> <td style="text-align: left;">LbsParam.KEY_PAGESIZE</td> <td style="text-align: left;">int</td> <td>页数大小</td> </tr> <tr> <td style="text-align: left;">LbsParam.KEY_RADIUS</td> <td style="text-align: left;">int</td> <td>半径,单位为KM 搜索半径过大会影响服务端的性能,最好控制在100KM以内</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据,json格式字符串,详情见返回data示例</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> HashMap params = new HashMap&lt;String, Object&gt;(0); params.put(LbsParam.KEY_SORT, "desc"); params.put(LbsParam.KEY_PAGESIZE, 50); params.put(LbsParam.KEY_RADIUS, 15); params.put(LbsParam.KEY_PAGEINDEX, 0); MSLDSDK.action(activity, LbsPath.ROUTE_LBS_SEARCHNEARBY, params, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, "getNearby() ==&gt; success : " + msg); tvResult.setText(data.toString()); } @Override public void onFail(int code ,String msg, @Nullable Object data) { Log.i(TAG, "getNearby() ==&gt; onFail " +code +": "+msg); tvResult.setText(msg); } });</code></pre> <p><strong>data示例</strong></p> <pre><code>{ "playerId": 300799460, "udid": "4849375rn3034_2922613qr042r6o9q1p", "gameId": 10389, "size": 50, "total": 100, "contents": [ { "playerId": 1867749838, "distance": 14.96, "position": { "nation": "●●", "province": "广东省", "city": "深圳市", "country": "龙岗区", "building": "", "tag": "" }, "time": 1574076046 }, { "playerId": 2411664408, "distance": 14.94, "position": { "nation": "●●", "province": "广东省", "city": "深圳市", "country": "宝安区", "building": "", "tag": "" }, "time": 1574083329 } ] }</code></pre> <h4>13.2 获取当前位置信息</h4> <p><strong>简要描述:</strong> </p> <p>此接口返回当前位置相关信息,主要包含经纬度和具体详细的位置信息</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取当前位置信息</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">LbsPath.ROUTE_LBS_GETCURRENTLOCATION</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码 新增LbsErrCode.ERROR_PERMISSION_DENY 表示权限被拒绝</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据,MsLocation对象,详情见返回MsLocation释义</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> MSLDSDK.action(activity, LbsPath.ROUTE_LBS_GETCURRENTLOCATION, null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, "startLocation() ==&gt; success : " + data); if (null != data &amp;&amp; data instanceof MsLocation) { MsLocation msLocation = (MsLocation) data; tvResult.setText(msLocation.toString()); } } @Override public void onFail(int code, String msg, @Nullable Object data) { Log.i(TAG, "startLocation() ==&gt; onFail " + code + ": " + msg); if (code == -17001){ Log.i(TAG, "授权被拒绝 " + code + ": " + msg); } tvResult.setText("code:" + code + "msg:" + msg); } });</code></pre> <p><strong>MsLocation示例</strong></p> <table> <thead> <tr> <th style="text-align: left;">字段名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">latitude</td> <td style="text-align: left;">double</td> <td>纬度</td> </tr> <tr> <td style="text-align: left;">longitude</td> <td style="text-align: left;">double</td> <td>经度</td> </tr> <tr> <td style="text-align: left;">altitude</td> <td style="text-align: left;">double</td> <td>海拔高度信息</td> </tr> <tr> <td style="text-align: left;">speed</td> <td style="text-align: left;">float</td> <td>速度 单位:米/秒</td> </tr> <tr> <td style="text-align: left;">bearing</td> <td style="text-align: left;">string</td> <td>方向角信息</td> </tr> <tr> <td style="text-align: left;">address</td> <td style="text-align: left;">String</td> <td>地址描述</td> </tr> <tr> <td style="text-align: left;">country</td> <td style="text-align: left;">String</td> <td>国家名称</td> </tr> <tr> <td style="text-align: left;">province</td> <td style="text-align: left;">String</td> <td>省名称</td> </tr> <tr> <td style="text-align: left;">city</td> <td style="text-align: left;">String</td> <td>城市名称</td> </tr> <tr> <td style="text-align: left;">district</td> <td style="text-align: left;">String</td> <td>城区名称</td> </tr> <tr> <td style="text-align: left;">street</td> <td style="text-align: left;">String</td> <td>街道名称</td> </tr> <tr> <td style="text-align: left;">streetNum</td> <td style="text-align: left;">String</td> <td>街道门牌号信息</td> </tr> <tr> <td style="text-align: left;">cityCode</td> <td style="text-align: left;">String</td> <td>城市编码信息</td> </tr> <tr> <td style="text-align: left;">adCode</td> <td style="text-align: left;">String</td> <td>区域编码信息</td> </tr> <tr> <td style="text-align: left;">poiName</td> <td style="text-align: left;">String</td> <td>当前位置的POI名称</td> </tr> <tr> <td style="text-align: left;">aoiName</td> <td style="text-align: left;">String</td> <td>当前位置所处AOI名称</td> </tr> </tbody> </table> <h4>13.3 获取位置权限</h4> <p><strong>简要描述:</strong> </p> <p>此接口为获取位置权限 <strong>注意:从SDK1.9.0版本开始,初始化时不再申请位置权限,如果需要位置权限请调用此授权接口,或者游戏业务自己单独处理</strong></p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取当前位置信息</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">LbsPath.ROUTE_LBS_REQUEST_LOCATION_PERMISSIONS</td> <td>无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">LbsParam.IS_SHOW_SETTING_TIP</td> <td style="text-align: left;">String</td> <td>是否强制授权(&quot;1&quot;是,&quot;0&quot;否),强制授权会弹二次确认框</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码 LbsErrCode.ERROR_PERMISSION_DENY(-17001) 表示权限被拒绝</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> HashMap&lt;String, Object&gt; map0 = new HashMap&lt;&gt;(); map0.put(LbsParam.IS_SHOW_SETTING_TIP, "1"); MSLDSDK.action(activity,LbsPath.ROUTE_LBS_REQUEST_LOCATION_PERMISSIONS, map0, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, "requestPermission() ==&gt; success : " +msg + " "+ data); tvResult.setText(msg); } @Override public void onFail(int code, String msg, @Nullable Object data) { Log.i(TAG, "requestPermission() ==&gt; onFail " + code + ": " + msg); tvResult.setText("code:" + code + "msg:" + msg); } });</code></pre> <h3>15 数据统计 DLog</h3> <p>请参考 <a href="https://www.showdoc.cc/mssdk?page_id=2701294611171044">数据统计</a> API文档;</p> <h3>16 推送</h3> <h4>16.1 获取RegistrationID</h4> <p><strong>简要描述:</strong> 集成了 JPush SDK 的应用程序在第一次成功注册到 JPush 服务器时,JPush 服务器会给客户端返回一个唯一的该设备的标识</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取RegistrationID</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">PushPath.ROUTE_GET_REGISTRATIONID</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">//返回值registrationId是String类型 Object registrationId = MSLDSDK.syncAction(activity, PushPath.ROUTE_GET_REGISTRATIONID, null);</code></pre> <h4>16.2 设置别名 alias</h4> <p><strong>简要描述</strong> 为安装了应用程序的用户,取个别名来标识。以后给该用户 Push 消息时,就可以用此别名来指定。每个用户只能指定一个别名。</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">设置别名 alias</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">PushPath.ROUTE_SET_ALIAS</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">alias</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>别名</td> </tr> </tbody> </table> <h3>17 兑换码</h3> <h4>17.1 兑换码UI</h4> <p><strong>简要描述:</strong> 唤起兑换码界面</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">唤起兑换码界面</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">RedeemCodePath.ROUTE_SHOW_REDEEMCODE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity, RedeemCodePath.ROUTE_SHOW_REDEEMCODE, null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { //执行成功回调返回productId,就是data,字符串String类型 } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">String</td> <td>道具标识productId</td> </tr> </tbody> </table> <h4>17.2 兑换码无UI</h4> <p><strong>简要描述</strong> 调用兑换码无UI接口</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">调用兑换码接口(无UI)</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">RedeemCodePath.ROUTE_REDEEMCODE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>兑换码</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity,RedeemCodePath.ROUTE_REDEEMCODE, new HashMap&lt;String, Object&gt;() { { put("code", text); } }, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { //执行成功回调返回productId,就是data,字符串String类型 } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>返回对象</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">String</td> <td>道具标识productId</td> </tr> </tbody> </table> <h3>17 直播</h3> <h4>17.1 是否开启直播开关</h4> <p><strong>简要描述:</strong> 是否开启直播开关</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">是否开启直播开关</td> <td style="text-align: left;">同步调用</td> <td style="text-align: left;">LivePath.ROUTE_LIVE_ISLIVE_ENABLE</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">//返回值isEnable是boolean类型 Object isEnable = MSLDSDK.syncAction(activity, LivePath.ROUTE_LIVE_ISLIVE_ENABLE, null);</code></pre> <h4>17.2 开启直播</h4> <p><strong>简要描述</strong> 开启直播</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">开启直播</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">LivePath.ROUTE_LIVE_START</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity,LivePath.ROUTE_LIVE_START,null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> </tbody> </table> <h3>18 交叉推广</h3> <h4>18.1 打开交叉推广页面</h4> <p><strong>简要描述:</strong> 打开交叉推广页面</p> <p><strong>功能说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">打开交叉推广页面</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AladdinPath.ROUTE_ALADDIN_SHOW_CROSSADVIEW</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">是否必传</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">screenOrientation</td> <td style="text-align: left;">是</td> <td style="text-align: left;">String</td> <td>竖屏=&quot;0&quot;/横屏=&quot;1&quot;</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity,AladdinPath.ROUTE_ALADDIN_SHOW_CROSSADVIEW, new HashMap&lt;String, Object&gt;() { { put("screenOrientation","1"); } }, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> </tbody> </table> <h4>18.2 查询礼包状态</h4> <p><strong>简要描述</strong> 查询礼包状态</p> <p><strong>功能说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th style="text-align: left;">说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">查询礼包状态</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">AladdinPath.ROUTE_ALADDIN_QUERY_GIFT_TIME</td> <td style="text-align: left;">无</td> </tr> </tbody> </table> <p><strong>示例:</strong></p> <pre><code class="language-java">MSLDSDK.action(activity,AladdinPath.ROUTE_ALADDIN_QUERY_GIFT_TIME,null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { //data类型为AdGiftTimeInfo,字段status为状态,giftNextTime为剩余时间 //status 为1时, 表示礼包为开启状态, 且只要剩余时间为0即可领取 } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <p><strong>回调参数说明:</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">AdGiftTimeInfo</td> <td>礼包状态对象</td> </tr> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> </tbody> </table> <h3>19 关系链</h3> <h4>19.1 获取联系●●限</h4> <p><strong>简要描述:</strong> </p> <p>此接口为获取用户联系人列表的权限</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取当前位置信息</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">ContactsPath.ROUTE_CONTACT_PERMISSIONS</td> <td>无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">ContactsParam.IS_SHOW_CONFIRM_DIALOG</td> <td style="text-align: left;">String</td> <td>是否强制授权(&quot;1&quot;是,&quot;0&quot;否),强制授权会弹二次确认框</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码 新增ContactsErrCode.ERROR_CONTACTS_DENY(-18001) 表示权限被拒绝</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> HashMap&lt;String, Object&gt; map0 = new HashMap&lt;&gt;(); map0.put(ContactsParam.IS_SHOW_CONFIRM_DIALOG, "1"); MSLDSDK.action(activity,ContactsPath.ROUTE_CONTACT_PERMISSIONS, map0, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, "requestPermission() ==&gt; success : " + data); } @Override public void onFail(int code, String msg, @Nullable Object data) { Log.i(TAG, "requestPermission() ==&gt; onFail " + code + ": " + msg); if (code == -18001){ Log.i(TAG, "授权被拒绝 " + code + ": " + msg); } tvResult.setText("code:" + code + "msg:" + msg); } });</code></pre> <h4>19.2 获取平台级好友列表</h4> <p><strong>简要描述:</strong> </p> <p>此接口为获取平台级好友列表</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">获取当前位置信息</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">ContactsPath.ROUTE_CONTACT_PLATFORM_FRIENDLIST</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code>MSLDSDK.action(activity, ContactsPath.ROUTE_CONTACT_PLATFORM_FRIENDLIST, null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { Log.i(TAG, "getContactsFireds() ==&gt; success : " + data); } @Override public void onFail(int code, String msg, @Nullable Object data) { Log.i(TAG, "getContactsFireds() ==&gt; onFail " + code + ": " + msg); tvResult.setText("code:" + code + "msg:" + msg); } });</code></pre> <p><strong>data示例</strong></p> <pre><code>{ "gameId": 10001, "playerId": 300800894, "userId": 300799141, "platformRelations": [ { "friendUserId": 3800790992, "playerId": 3800794647, "relation": 0, "source": "contact", "name": "nick" } ] } </code></pre> <h3>20 OpenInstall</h3> <h4>20.1 主动获取落地页参数</h4> <p><strong>简要描述:</strong> </p> <p>主动获取落地页参数</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">主动获取落地页参数</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">OpenInstallPath.ROUTE_GETINSTALL</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">MsldOpeninstallData</td> <td>回调数据</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> MSLDSDK.action(activity, OpenInstallPath.ROUTE_GETINSTALL, null, new MSLDCallback&lt;MsldOpeninstallData&gt;() { @Override public void onSuccess(String msg, @Nullable MsldOpeninstallData data) { } @Override public void onFail(int code, String msg, @Nullable Object errorData) { } });</code></pre> <h4>20.2 openinstall渠道效果统计</h4> <p><strong>简要描述:</strong> </p> <p>上报效果点</p> <p><strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">上报效果点</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">OpenInstallPath.ROUTE_REPORTEFFECTPOINT</td> <td>无</td> </tr> </tbody> </table> <p><strong>方法参数 map 说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">OpenInstallParam.POINTID</td> <td style="text-align: left;">String</td> <td>效果点id</td> </tr> <tr> <td style="text-align: left;">OpenInstallParam.POINTVALUE</td> <td style="text-align: left;">String</td> <td>效果点value(次数或者金额,数字类型)</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong> </p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> HashMap&lt;String, Object&gt; map0 = new HashMap&lt;&gt;(); map0.put(OpenInstallParam.POINTID, "levelup"); map0.put(OpenInstallParam.POINTVALUE,"33"); MSLDSDK.action(activity,OpenInstallPath.ROUTE_REPORTEFFECTPOINT, map0, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { } @Override public void onFail(int code, String msg, @Nullable Object data) { } });</code></pre> <h4>20.3 openinstall注册量统计</h4> <p><strong>简要描述:</strong> 上报注册量 <strong>功能说明:</strong> </p> <table> <thead> <tr> <th style="text-align: left;">功能名称</th> <th style="text-align: left;">调用类型</th> <th style="text-align: left;">功能标识</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">上报注册量</td> <td style="text-align: left;">异步调用</td> <td style="text-align: left;">OpenInstallPath.ROUTE_REPORTREGISTER</td> <td>无</td> </tr> </tbody> </table> <p><strong>回调声明:</strong> </p> <pre><code>interface MSLDCallback{ void onSuccess(String msg, Object data); void onFail(int code, String msg, Object errorData); }</code></pre> <p><strong>回调参数说明</strong></p> <table> <thead> <tr> <th style="text-align: left;">参数名</th> <th style="text-align: left;">类型</th> <th>说明</th> </tr> </thead> <tbody> <tr> <td style="text-align: left;">code</td> <td style="text-align: left;">int</td> <td>错误码</td> </tr> <tr> <td style="text-align: left;">data</td> <td style="text-align: left;">Object</td> <td>回调数据,可能为空</td> </tr> <tr> <td style="text-align: left;">msg</td> <td style="text-align: left;">String</td> <td>状态详情</td> </tr> <tr> <td style="text-align: left;">errorData</td> <td style="text-align: left;">Object</td> <td>错误数据,可能为空</td> </tr> </tbody> </table> <p><strong>示例</strong></p> <pre><code> MSLDSDK.action(activity,OpenInstallPath.ROUTE_REPORTREGISTER, null, new MSLDCallback() { @Override public void onSuccess(String msg, @Nullable Object data) { } @Override public void onFail(int code, String msg, @Nullable Object data) { } });</code></pre>

页面列表

ITEM_HTML