H5小游戏模板化方案 会展行业 (资源替换,分数记录,次数限制,排行榜) v20190321

流程

  1. 看具体游戏有哪些资源可以被替换
  2. 确定后,后端出模板配置
  3. 后端创建一个测试游戏的配置,给出游戏id
  4. 按以下步骤接入
  5. 把发布后的代码给我,充分保证你的劳动成果不被窃取

    引入sdk

    如果是白鹭5.0需要在发布后引入

    <script src="//h5.iguojin.com/template/gamesdk/hudongsdk.js"></script>

    实例化sdk

    // ts声明,防止报错
    declare var HudongSdk
    var sdk
    sdk = HudongSdk.getInstance()

    替换资源

    以白鹭为例,可以在

    await RES.loadConfig("resource/default.res.json", "resource/");

    后面添加如下代码,并记录值,在需要时可以直接从里获取,而不用默认的值
    可以检测url上的gameid参数,正式交付客户都会加上这个参数

    await sdk.loadConfig().then((res)=>{
     console.log(res)
    })

    并在回调中进行替换,数据格式如下,重点关注data字段

    {
     "code": 1,
     "msg": "游戏配置",
     "data": {
         "logo": "https://test/log.jpg"
     },
     "url": ""
    }

    次数限制

    点击游戏开始前,先检查剩余次数,例如

    sdk.limit().then((res) => {
     if (res["code"] == 0) {
         alert(res["msg"])
         return;
     }
     let num_act = res['data']['limit_act']
     if (num_act == 0) {
         alert('您的游戏机会已经用完')
     }
     let num_day = res['data']['limit_day']
     if (num_day == 0) {
         alert('您今日的游戏机会已经用完')
     }
     // 以下为开始逻辑
     // todo
    }).catch(()=>{
     alert('error')
    })

    原始数据结构
    其中data.limit_day为当日剩余次数,data.limit_act为剩余的总次数,其中任何为0时候,将无法提交分数

    {
     "code": 1,
     "msg": "剩余次数",
     "data": {
         "limit_day": 997,
         "limit_act": 996
     },
     "url": ""
    }

    提交分数

    其中score参数为分数

    sdk.result(score).then((res)=>{
     console.log(res)
    })

    访问地址

    至此游戏模板化结束,一个做好的测试地址

    https://wx.iguojin.com/game/login/testgame

    以上地址可以防止IOS微信出现底部的白色导航条
    最终将跳转到实际的游戏地址,例如

    https://h5.iguojin.com/template/gsk/?gameid=testgame

    排行榜

    考虑将此功能放入iframe实现,程序引入sdk即可

此处评论已关闭