h5sdk对接文档
<p>[toc]</p>
<h1>接入示例</h1>
<p>您可以通过访问以下链接查看完整的接入示例:</p>
<p><a href="https://h5sdk.hqlgame.com/?key=test123">SDK接入示例</a></p>
<p>该示例包含了SDK的所有功能演示,可以帮助您更好地理解和使用SDK。</p>
<h1>对接准备</h1>
<p>在开始接入SDK之前,需要准备以下信息:</p>
<h2>平台提供</h2>
<ul>
<li>平台游戏地址</li>
<li>游戏ID(gameId)</li>
<li>登录密钥(loginKey)</li>
<li>支付密钥(payKey)</li>
</ul>
<h2>游戏提供</h2>
<ul>
<li>游戏地址</li>
<li>支付回调地址</li>
</ul>
<h1>1. 引入 SDK</h1>
<p>在HTML文件中引入SDK:</p>
<pre><code class="language-html">&lt;script src=&quot;https://files.hqlgame.com/h5sdk/v1/h5sdk.js&quot;&gt;&lt;/script&gt;</code></pre>
<h1>2. 初始化 SDK</h1>
<pre><code class="language-javascript">window.__game_sdk__.init({
gameId: &#039;10001&#039;, // 平台提供的游戏ID
initCallback: function(data) {
console.log(&#039;初始化回调&#039;, data);
},
loginCallback: function(data) {
console.log(&#039;登录回调&#039;, data);
},
payCallback: function(data) {
console.log(&#039;支付回调&#039;, data);
},
logoutCallback: function(data) {
console.log(&#039;登出回调&#039;, data);
},
reportRoleCallback: function(data) {
console.log(&#039;角色上报回调&#039;, data);
}
});</code></pre>
<h1>3. 登录</h1>
<pre><code class="language-javascript">window.__game_sdk__.login();</code></pre>
<h1>4. 支付</h1>
<pre><code class="language-javascript">window.__game_sdk__.pay({
amount: &quot;1.00&quot;,
serverid: &quot;1&quot;,
servername: &quot;测试服&quot;,
roleid: &quot;1001&quot;,
rolename: &quot;测试角色&quot;,
attach: &quot;TEST&quot; + Date.now(),
rolelevel: &quot;10&quot;,
productid: &quot;10001&quot;,
productname: &quot;测试商品&quot;,
power: &quot;1000&quot;,
ext: &quot;扩展数据&quot;
});</code></pre>
<h2>支付参数说明</h2>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>amount</td>
<td>String</td>
<td>是</td>
<td>支付金额,单位为元</td>
</tr>
<tr>
<td>serverid</td>
<td>String</td>
<td>是</td>
<td>游戏区服ID</td>
</tr>
<tr>
<td>servername</td>
<td>String</td>
<td>是</td>
<td>游戏区服名称</td>
</tr>
<tr>
<td>roleid</td>
<td>String</td>
<td>是</td>
<td>游戏角色ID</td>
</tr>
<tr>
<td>rolename</td>
<td>String</td>
<td>是</td>
<td>游戏角色名称</td>
</tr>
<tr>
<td>attach</td>
<td>String</td>
<td>是</td>
<td>订单号</td>
</tr>
<tr>
<td>rolelevel</td>
<td>String</td>
<td>是</td>
<td>游戏角色等级</td>
</tr>
<tr>
<td>productid</td>
<td>String</td>
<td>是</td>
<td>商品ID</td>
</tr>
<tr>
<td>productname</td>
<td>String</td>
<td>是</td>
<td>商品名称</td>
</tr>
<tr>
<td>power</td>
<td>String</td>
<td>是</td>
<td>角色战力</td>
</tr>
<tr>
<td>ext</td>
<td>String</td>
<td>是</td>
<td>角色扩展数据</td>
</tr>
</tbody>
</table>
<h1>5. 角色上报</h1>
<pre><code class="language-javascript">window.__game_sdk__.reportRole({
data_type: &quot;1&quot;, // 数据类型:1创建角色 2进入游戏 3等级提升 4退出游戏
serverid: &quot;1&quot;,
servername: &quot;测试服&quot;,
roleid: &quot;1001&quot;,
rolename: &quot;测试角色&quot;,
rolelevel: &quot;10&quot;,
power: &quot;1000&quot;,
vip: &quot;1&quot;,
extension: &quot;{}&quot;
});</code></pre>
<h2>角色上报参数说明</h2>
<table>
<thead>
<tr>
<th>参数名</th>
<th>类型</th>
<th>必填</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>data_type</td>
<td>String</td>
<td>是</td>
<td>数据类型:1创建角色 2进入游戏 3等级提升 4退出游戏</td>
</tr>
<tr>
<td>serverid</td>
<td>String</td>
<td>是</td>
<td>服务器ID</td>
</tr>
<tr>
<td>servername</td>
<td>String</td>
<td>是</td>
<td>服务器名称</td>
</tr>
<tr>
<td>roleid</td>
<td>String</td>
<td>是</td>
<td>角色ID</td>
</tr>
<tr>
<td>rolename</td>
<td>String</td>
<td>是</td>
<td>角色名称</td>
</tr>
<tr>
<td>rolelevel</td>
<td>String</td>
<td>是</td>
<td>角色等级</td>
</tr>
<tr>
<td>power</td>
<td>String</td>
<td>是</td>
<td>角色战力</td>
</tr>
<tr>
<td>vip</td>
<td>String</td>
<td>是</td>
<td>VIP等级</td>
</tr>
<tr>
<td>extension</td>
<td>String</td>
<td>是</td>
<td>扩展字段,JSON字符串</td>
</tr>
</tbody>
</table>
<h1>6. 登出</h1>
<pre><code class="language-javascript">window.__game_sdk__.logout();</code></pre>
<h1>注意事项</h1>
<ol>
<li>所有必填参数必须提供,否则会弹出错误提示</li>
<li>amount 参数必须使用字符串类型,且必须保留两位小数(例如:"1.00")</li>
<li>extension 字段必须是有效的 JSON 字符串格式</li>
<li>所有参数值都必须使用字符串类型</li>
<li>角色上报时,data_type参数必须根据实际场景选择正确的值:1创建角色 2进入游戏 3等级提升 4退出游戏 </li>
</ol>