一、接入前准备
<ul>
<li>
<h2>CP接入前请先向商务或是运营人员索要游戏对应的AppID(游戏唯一标示)和secretKey(业务秘钥);</h2>
</li>
<li>
<h2>上线前必须对接和联调完成的接口:</h2>
</li>
</ul>
<table>
<thead>
<tr>
<th style="text-align: left;">接口名</th>
<th style="text-align: left;">类型</th>
<th style="text-align: left;">接口内容</th>
<th>是否必接</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left;">config</td>
<td style="text-align: left;">JS-function</td>
<td style="text-align: left;">初始化</td>
<td>必须</td>
<td>初始化SDK内容,根据渠道引入资源。</td>
</tr>
<tr>
<td style="text-align: left;">pay</td>
<td style="text-align: left;">JS-function</td>
<td style="text-align: left;">支付</td>
<td>必须</td>
<td>客户端发起支付请求。</td>
</tr>
<tr>
<td style="text-align: left;">report</td>
<td style="text-align: left;">JS-function XHR</td>
<td style="text-align: left;">角色信息</td>
<td>必须</td>
<td>客户端上报</td>
</tr>
</tbody>
</table>
<h3>接口地址:</h3>
<ul>
<li><code>https://sdk.djsh5.com/game/?g=[APPID]</code></li>
</ul>
<h3>游戏地址、充值回调地址:</h3>
<pre><code>(该地址由CP方提供,并由我方运营配置在独角兽业务中控后台)。</code></pre>
<h3>进入游戏:</h3>
<pre><code>进入渠道游戏实际落地页后,SDK以GET形式将以下参数传递至游戏地址:</code></pre>
<h3>注意事项:</h3>
<pre><code>`如果游戏最终落地页非提供的游戏真实地址,那么重定向的地址上必须携带上我方拼接在游戏真实地址上的参数,如存在字段冲突请联系我方技术`</code></pre>
<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;">gameid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">APPID</td>
<td style="text-align: left;">该ID由独角兽在游戏接入前分配,是游戏的唯一标识,<strong>即上报的appid</strong></td>
</tr>
<tr>
<td style="text-align: left;">uid</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">用户身份标识</td>
<td style="text-align: left;">一般由渠道给出的唯一身份标识,该字段CP需要映射至角色标识上。</td>
</tr>
<tr>
<td style="text-align: left;">openid</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">用户身份标识</td>
<td style="text-align: left;">一般由<strong>更上层</strong>渠道给出的唯一身份标识,<strong>当接口提供该字段时请CP尽可能也映射至角色标识上。</strong></td>
</tr>
<tr>
<td style="text-align: left;">channel</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">渠道标识</td>
<td style="text-align: left;">用户所在渠道的标识,<strong>即上报的channelid</strong></td>
</tr>
<tr>
<td style="text-align: left;">subchid</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">子渠道标识</td>
<td style="text-align: left;">用户所在子渠道的标识</td>
</tr>
<tr>
<td style="text-align: left;">nickname</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">用户昵称</td>
<td style="text-align: left;">一般由渠道给出的用户在渠道上设置的昵称,并非全部渠道都会提供该字段,但在需要用户设置游戏内角色名时,<strong>请CP判定并调用该字段设置为默认角色名。</strong></td>
</tr>
<tr>
<td style="text-align: left;">headimgurl</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">头像地址</td>
<td style="text-align: left;">渠道提供的用户头像地址,并非所有渠道均会提供该字段,并且存在过期可能,<strong>如渠道无该字段则返回空字符串</strong>,所以请<strong>需要使用该字段的CP在每次用户登录时都重新获取该字段</strong>。</td>
</tr>
<tr>
<td style="text-align: left;">sex</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">性别</td>
<td style="text-align: left;">渠道提供的用户性别标识,并非渠道均会提供该字段,并且存在过期可能,所以请需要使用该字段的CP在每次用户登录时都重新获取该字段。(0:未知、1:男、2:女)</td>
</tr>
<tr>
<td style="text-align: left;">focus</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">是否关注</td>
<td style="text-align: left;">只有部分渠道会传此字段,建议研发从客户端获取关注结果,并自行保存,客户端方法见下文。</td>
</tr>
<tr>
<td style="text-align: left;">focusbonus</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">是否设置并开启关注奖励</td>
<td style="text-align: left;">渠道要求提供关注奖励时该字段返回:1,其余情况返回:0,【关于关注公众号后的获取奖励的业务流程详见】</td>
</tr>
<tr>
<td style="text-align: left;">sharebonus</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">是否设置并开启分享、邀请奖励</td>
<td style="text-align: left;">渠道要求提供分享奖励时该字段返回:1,其余情况返回:0,【关于关注公众号后的获取奖励的业务流程详见】</td>
</tr>
<tr>
<td style="text-align: left;">showdesktop</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">是否设置【添加到桌面】按钮</td>
<td style="text-align: left;">渠道要求放置【添加到桌面】按钮时该字段返回:1,其余情况返回:0、或者没有该字段</td>
</tr>
<tr>
<td style="text-align: left;">showforum</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">是否设置【进入到论坛】按钮</td>
<td style="text-align: left;">渠道要求放置【进入到论坛】按钮时该字段返回渠道的论坛名称(如QQ浏览器渠道名称为:话题圈),其余情况返回:0、或者没有该字段</td>
</tr>
<tr>
<td style="text-align: left;">changelogin</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">数字</td>
<td style="text-align: left;">是否需要设置切换账号的功能</td>
<td style="text-align: left;">渠道要求放置【切换账号】按钮时该字段返回1(如QQ浏览器渠道),其余情况返回:0、或者没有该字段</td>
</tr>
<tr>
<td style="text-align: left;">fuid</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">邀请者uid</td>
<td style="text-align: left;">渠道要求提供【邀请好友进行游戏并获取奖励】的功能时,需要用到该字段。【关于关注公众号后的获取奖励的业务流程详见】</td>
</tr>
<tr>
<td style="text-align: left;">gankVerify</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">是否开始实名认证</td>
<td style="text-align: left;">当gankVerify=1时开启实名认证 值为其他或者没有此参数时为不开启实名认证</td>
</tr>
<tr>
<td style="text-align: left;">verify</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">玩家是否已经实名认证</td>
<td style="text-align: left;">当verify=1时已实名 值为其他或者没有此参数时为未实名</td>
</tr>
<tr>
<td style="text-align: left;">timestamp</td>
<td style="text-align: left;">否</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">时间戳</td>
<td style="text-align: left;">当前系统时间戳,可能为空</td>
</tr>
<tr>
<td style="text-align: left;"><code>gankext</code></td>
<td style="text-align: left;">是</td>
<td style="text-align: left;"><code>json</code></td>
<td style="text-align: left;"><code>额外参数</code></td>
<td style="text-align: left;"><code>聚合渠道的额外参数(已urlencode),该参数务必拼在游戏的真实地址上,如果贵方为第三方公司,请务必将改参数拼在研发的入口地址上</code></td>
</tr>
<tr>
<td style="text-align: left;">sign</td>
<td style="text-align: left;">是</td>
<td style="text-align: left;">字符串</td>
<td style="text-align: left;">数字签名</td>
<td style="text-align: left;">签名值sign,<strong>此接口仅gameid、uid、channel三个字段参与签名。</strong> CP收到请求后可以匹配根据算法算出来的sign,比对参数中的sign,作为安全保证。注意 转大写</td>
</tr>
</tbody>
</table>
<pre><code>签名规则: $sign = "channel=".$channel."&gameid=".$gameid."&uid=".$uid."&key=".$key; //注意 先MD5再转大写 </code></pre>
<h3>引用SDK :</h3>
<h6><strong>请确保在调用方法前引用</strong></h6>
<ul>
<li><code><script type="text/javascript" src="https://cdn.djsh5.com/js/gank.sdk.httpsv.1.21.js"></script></code>
<h3>初始化SDK :</h3></li>
<li><code>var gank_sdk = window.GANK_SDK || {};</code></li>
</ul>
<h3>客户端调用示例dome :</h3>
<p><a href="http://sdk.djsh5.com/game/?g=xOcSN4iErGIyv">http://sdk.djsh5.com/game/?g=xOcSN4iErGIyv</a></p>