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.0</td>
<td style="text-align: left;">2019/12/24</td>
<td style="text-align: left;">集成到MSSDK</td>
<td style="text-align: left;">tenk.chen</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<h2>文档简介</h2>
<blockquote>
<p>社区SDK-MSSDK版本,基于统一账号的社区SDK。</p>
<p>该文档是 SDK 对外 API,方便开发者接入 SDK,有问题可以 <a href="https://www.showdoc.cc/mssdk?page_id=2615409307929897">联系我们</a>。</p>
</blockquote>
<h2>重要信息</h2>
<p>接入社区SDK必须接入MSSDK。
游戏接入前需要在asset/gsd_config.xml文件将formId修改为游戏申请到的fid。</p>
<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>
<h3>1. 初始化</h3>
<p><strong>简要描述:</strong>
初始化 SDK,在MSSDK登录成功之后调用</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;">社区SDK初始化</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">BbsPath.ROUTE_BBS_INIT</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(this, BbsPath.ROUTE_BBS_INIT, null, new MSLDCallback() {
@Override
public void onSuccess(String s, Object needOpen) {
Toast.makeText(MsldMainActivity.this, (boolean)needOpen ? "需要开启社区bbs" : "不需要显示社区bbs",
Toast.LENGTH_SHORT).show();
}
@Override
public 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;">needOpen</td>
<td style="text-align: left;">boolean</td>
<td>游戏是否要显示社区入口</td>
</tr>
</tbody>
</table>
<h3>2. 打开社区</h3>
<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_BBS_START</td>
<td style="text-align: left;">无</td>
</tr>
</tbody>
</table>
<p><strong>回调声明:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(this, BbsPath.ROUTE_BBS_START, null, null);</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>
<h3>3.获取未读消息</h3>
<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;">ROUTE_BBS_GET_NOTICE_COUNT</td>
<td style="text-align: left;">使用该接口前请先保证登录成功。</td>
</tr>
</tbody>
</table>
<p><strong>示例:</strong></p>
<pre><code class="language-java"> MSLDSDK.action(this, BbsPath.ROUTE_BBS_GET_NOTICE_COUNT, new HashMap<String, Object>(), new MSLDCallback() {
@Override
public void onSuccess(String msg, Object data) {
showTips("onSuccess msg:" + msg + " data:" + data);
}
@Override
public void onFail(int code, String msg, Object errorData) {
showTips(" code: " + code + " msg:" + 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>
<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;">int</td>
<td>消息数量</td>
</tr>
</tbody>
</table>