喜乐游原生对接
<h5>游戏交互逻辑</h5>
<ol>
<li>游戏端初始化完成调安卓、iOS的方法
<pre><code>游戏端调用andoird端的写法
jsb.reflection.callStaticMethod("com/cocos2dx/javascript", "initedGameEngine", "(Ljava/lang/String;)V","");
游戏端调用ios端的写法
jsb.reflection.callStaticMethod("NativeOcClass", "initedGameEngine:",""); </code></pre></li>
<li>
<p>安卓、iOS调游戏端checkIsAutoLogin方法,告诉游戏端是否要显示登陆按钮</p>
<pre><code>fuction checkIsAutoLogin(参数1,参数2) {
} 参数1位字符串 0 1 1表示显示按钮 0 表示不显示按钮 参数2字符串 渠道名:xileyou</code></pre>
</li>
<li>游戏在checkIsAutoLogin中调用android或ios的startLogin方法
<pre><code>游戏端调用andoird端的写法
jsb.reflection.callStaticMethod("com/cocos2dx/javascript", "startLogin", "(Ljava/lang/String;)V", "参数"); 参数1位字符串类型 xileyou:喜乐游
游戏端调用ios端的写法
jsb.reflection.callStaticMethod("NativeOcClass", "startLogin:","参数"); xileyou:喜乐游</code></pre></li>
<li>
<p>sdk登陆成功 android 或 iOS 调用游戏的enterGame方法</p>
<pre><code>enterGame为游戏端外层js方法
function enterGame(user_info) {
}
user_info为json字符串
{
app_id:游戏接入时分配的应用app_i
mem_id:登陆时提供给CP的用户ID
user_token:登陆获取的user_token
platform: 字符串类型 an 表示安卓平台 ios 表示 ios平台
version:本地版本号
channel_num: 字符串类型 渠道编号 目前会传这一种 xileyou 游戏端可以拿该字段分析分渠道数据
}</code></pre>
</li>
<li>游戏端上报数据给andoird或ios 需要游戏端调用android或ios的uploadRole方法
<pre><code>游戏端调用andoird端的写法
jsb.reflection.callStaticMethod("com/cocos2dx/javascript", "uploadRole", "(Ljava/lang/String;)V", "参数");
参数为json字符串类型
{
action:字符串类型 enterGame:进入游戏 create_role:创角 level_up:角色升级
srvid: 字符串类型 区服 id,
srvidname: 字符串类型 区服名,
rolelevel: 字符串类型 角色等级,
rolename: 字符串类型 角色名,
roleid: 字符串类型 游戏研发方唯一角色 id,
}
游戏端调用ios端的写法
jsb.reflection.callStaticMethod("NativeOcClass", "uploadRole:","参数");
参数为json字符串类型
{
action:字符串类型 enterGame:进入游戏 create_role:创角 level_up:角色升级
srvid: 字符串类型 区服 id,
srvidname: 字符串类型 区服名,
rolelevel: 字符串类型 角色等级,
rolename: 字符串类型 角色名,
roleid: 字符串类型 游戏研发方唯一角色 id,
}</code></pre></li>
<li>用户点击充值按钮,游戏发起充值给andoird或ios 需要游戏端调用android或ios的pay方法
<pre><code>游戏端调用andoird端的写法
jsb.reflection.callStaticMethod("com/cocos2dx/javascript", "pay", "(Ljava/lang/String;)V", "参数");
参数为json字符串类型
{
price: 商品价格,
order_id: 游戏订单号,
srvid: 字符串类型 区服 id,
srvidname: 字符串类型 区服名,
rolelevel: 字符串类型 角色等级,
rolename: 字符串类型 角色名,
roleid: 字符串类型 游戏研发方唯一角色 id,
goods_id: 字符串类型 商品唯一id
subject: 商品名
}
游戏端调用ios端的写法
jjsb.reflection.callStaticMethod("NativeOcClass", "pay:","参数");
参数为json字符串类型
{
ext:透传参数,支付完,sdk服务器原样返回
price: 商品价格,
order_id: 游戏订单号,
srvid: 字符串类型 区服 id,
srvidname: 字符串类型 区服名,
rolelevel: 字符串类型 角色等级,
rolename: 字符串类型 角色名,
roleid: 字符串类型 游戏研发方唯一角色 id,
goods_id: 字符串类型 商品唯一id
subject: 商品名
}</code></pre></li>
<li>用户被顶号,需要游戏端调用android或ios的logout方法 无参数
<pre><code>游戏端调用andoird端的写法
jsb.reflection.callStaticMethod("com/cocos2dx/javascript", "logout", "()V");
游戏端调用ios端的写法
jsb.reflection.callStaticMethod("NativeOcClass", "logout");</code></pre></li>
</ol>