Android 老游戏接入相关
<h4>1 用户是否已经购买过该道具</h4>
<h5>1.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;">PaymentPath.ROUTE_IS_PRODUCTS_PAID</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>用户ID</td>
</tr>
<tr>
<td style="text-align: left;">productId</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> HashMap params = new HashMap<String, Object>();
params.put("playerId", "playerId");
params.put("productId" "productId");
MSLDSDK.action(activity,PaymentPath.ROUTE_IS_PRODUCTS_PAID, params, new MSLDCallback() {
@Override
public void onSuccess(String msg, @Nullable Object data) {
//执行成功回调返回data(0:未购买 1:已购买)
}
@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>0:未购买 1:已购买</td>
</tr>
</tbody>
</table>
<h5>1.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;">PaymentPath.ROUTE_IS_PRODUCTS_PAID_OLD</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>用户ID</td>
</tr>
<tr>
<td style="text-align: left;">productId</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">String</td>
<td>道具标识</td>
</tr>
<tr>
<td style="text-align: left;">keyName</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> HashMap params = new HashMap<String, Object>();
params.put("playerId", "playerId");
params.put("productId" "productId");
params.put("keyName" "keyName");
MSLDSDK.action(activity,PaymentPath.ROUTE_IS_PRODUCTS_PAID_OLD, params, new MSLDCallback() {
@Override
public void onSuccess(String msg, @Nullable Object data) {
//执行成功回调返回data(0:未购买 1:已购买)
}
@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>0:未购买 1:已购买</td>
</tr>
</tbody>
</table>
<h4>2 用户已购买道具列表</h4>
<h5>1.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;">PaymentPath.ROUTE_GET_PRODUCT_LIST</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>用户ID</td>
</tr>
</tbody>
</table>
<p><strong>示例</strong></p>
<pre><code> HashMap params = new HashMap<String, Object>();
params.put("playerId", "playerId");
MSLDSDK.action(activity,PaymentPath.ROUTE_GET_PRODUCT_LIST, params, 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>
<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;">List</td>
<td>道具列表</td>
</tr>
</tbody>
</table>
<h4>3 设备查询PID</h4>
<p><strong>简要描述:</strong> </p>
<ul>
<li>已经接入了中台SDK(统一帐号+MSSDK)的手机绑定功能的业务,在政策的要求下,由乐逗的游客登录转变成使用渠道账号登录。在此过程中,由于该游客之前已经绑定了手机号存在PID1,此时用渠道账号注册登录后又生成一个新的PID2,导致用户感知数据丢失,影响非常不好。</li>
<li>老业务由其他SDK迁移到微服务SDK,微服务SDK支持根据设备号查询绑定过的PID</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>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">查询PID列表</td>
<td style="text-align: left;">异步调用</td>
<td style="text-align: left;">AccountPath.ROUTE_USER_PLAYER_ID_LIST</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, AccountPath.ROUTE_USER_PLAYER_ID_LIST, null, new MSLDCallback() {
@Override
public void onSuccess(String msg, @Nullable Object data) {
Log.i(TAG, "getPidList() ==> success : " + data);
tvResult.setText("suc:"+data.toString());
}
@Override
public void onFail(int code, String msg, @Nullable Object data) {
Log.i(TAG, "getPidList() ==> onFail " + code + ": " + msg);
tvResult.setText("fail:"+code + " - " +msg);
}
});</code></pre>
<p>data示例</p>
<pre><code>[
{
"player_id": "300800404",
"last_login_time": "1575621748",
"is_bind_phone": "1"
},
{
"player_id": "300867543",
"last_login_time": "1578662240",
"is_bind_phone": "1"
},
{
"player_id": "300867544",
"last_login_time": "1578981828",
"is_bind_phone": "1"
}
]</code></pre>