[隐藏]

目录

  • 1、API介绍

    HTML5 API是原创平台专门为HTML5小游戏推出的一系列API的集合,包括积分排行榜API、广告API两种。开发者可根据游戏实际需要自主决定选择哪一种方案:

    1、游戏正常接入原创平台,不需要修改任何代码,不需要添加地址,直接上传即可。

    2、游戏正常接入原创平台,并且需要使用平台提供的API接口(如积分、广告),需要添加API地址,并同时调整添加API接口代码。

    原创平台HTML5开发群:421323289

  • 2、使用案例

    2.1.广告API案例

  • 3、添加步骤

    在添加4399HTML5 API前,请先在页面<body>标签下加入以下代码

    <script src="http://h.api.4399.com/h5mini-2.0/h5api-interface.php"></script>
    以下接口示例都是在JS中使用

    3.1.广告API

    添加此API需提前跟商务联系,qq:2853316645。广告API相关规范案例:激励广告合作规范激励广告设计案例

    3.3.1.此接口返回当前是否还有广告资源可播放及剩余次数,开发者应根据此接口确定是否需要展示播放广告的按钮及相关游戏流程。

    /**
     * 获得是否可以播放广告及剩余次数
     * @param {func} callback 回调函数
     * @return boolean 是否可播放
     */
    window.h5api.canPlayAd(callback)
    
    /**
     * 广告状态回调函数
     * @param {object} data 状态
     */
    function callback(data) {
      console.log("是否可播放广告", data.canPlayAd, "剩余次数", data.remain)
    }
                                    

    3.1.2.播放全屏广告,并获得广告播放状态。

    PS:当广告被浏览器自带或净网大师等工具拦截时,依然返回广告异常错误的状态码。

    /**
     * 播放全屏广告
     * @param callback   播放广告时的广告状态回调函数
     */
    window.h5api.playAd(callback)
    /**
     * 此callback回调函数的形式
     *
     * @param obj  广告状态
     */
    function callback(obj){
        console.log('代码:' + obj.code + ',消息:' + obj.message)
        if(obj.code === 10000){
            console.log('开始播放')
        } else if(obj.code === 10001){
            console.log('播放结束')
        } else {
            console.log('广告异常')
        }
    }
                                    

    分享API、登录API、排行榜API目前只提供原生JS版本,各H5引擎的SDK及插件将在后期逐步支持。

    3.2.分享API

    触发分享功能,将游戏地址分享给好友。

    /**
     * 调用分享
     */
    window.h5api.share();
                                    

    3.3.登录API

    3.3.1.判断当前玩家是否已登录。

    /**
     * 是否登录
     */
    window.h5api.isLogin()
                                    

    3.3.2.打开用户登录面板。

    /**
     * 打开用户登录面板
     * @param {func} callback 回调函数
     */
    window.h5api.login(function(data) {
        /* data = {
            uId: 1234567, // 用户编号
            userName: '昵称', // 用户昵称
        } */
    })
                                

    3.3.3.根据用户编号获得用户头像地址。

    /**
     * 获得用户头像地址,高宽为120*120像素
     * @param {String} uid 用户编号
     */
    window.h5api.getUserAvatar(uid)
    
    /**
     * 获得用户小头像地址,高宽为48*48像素
     * @param {String} uid 用户编号
     */
    window.h5api.getUserSmallAvatar(uid)
    
    /**
     * 获得用户大头像地址,高宽为200*200像素
     * @param {String} uid 用户编号
     */
    window.h5api.getUserBigAvatar(uid)
                                    

    3.4.积分排行榜API

    可在游戏内展示用户的游戏得分及排名信息:

    开发者根据游戏需求从下列两种方案中选择一种接入即可:

    3.4.1.展示排行榜列表面板。

    面板效果图如下:

    积分排行榜模板图

    /**
     * 展示排行榜列表面板
     */
    window.h5api.showRanking()
                                    

    3.4.2.提交玩家分数到排行榜。

    /**
     * 提交玩家分数到排行榜
     * @param {int} score 分数 限制最高50万分
     * @param {func} callback 回调函数
     */
    window.h5api.submitRanking(score, function(data) {
      /* data = {
          code: 10000, // 10000代表提交成功,10001为提交失败
          my: { // 当前用户信息
            uid: 1234567, // 用户编号
            userName: '用户昵称'// 用户昵称
          },
          history: { // 分数提交后的历史最好成绩
            rank: -1, // 历史最好分数的排名 -1为未进入排行榜(排行榜只统计前500名)
            score: 0 // 历史最好分数
          }
      } */
    })
                                    

    3.4.1.获得排行榜排名列表。开发者需要根据自身游戏需求设计相应的排行榜排名列表。

    /**
     * 获得排行榜排名列表
     * @param {func} callback 回调函数
     * @param {int} page 页码 从1开始(选填,默认为1)
     * @param {int} step 每页条数(选填,默认为10)
     */
    window.h5api.getRanking(function(data) {
        /* data = {
          code: 10000, // 10000代表获取成功,10001为获取失败
          data: {
            currentPage: 0, // 当前页码,从0开始
            totalPage: 50, // 总页数
            hasNext: true, // 是否还有下一页
            list: [
              {
                uId: 1234567, // 用户编号
                userName: '昵称', // 用户昵称
                rank: 1, // 当前的排名 -1为未进入排行榜(排行榜只统计前500名)
                score: 100 // 当前的分数
              },
              ...
            ]
          }
        } */
    })
                                    

    3.4.2.提交玩家分数到排行榜。PS:该方法强制要求账号登录。

    /**
     * 提交玩家分数到排行榜
     * @param {int} score 分数 限制最高50万分
     * @param {func} callback 回调函数
     */
    window.h5api.submitRanking(score, function(data) {
      /* data = {
          code: 10000, // 10000代表提交成功,10001为提交失败
          my: { // 当前用户信息
            uid: 1234567, // 用户编号
            userName: '用户昵称'// 用户昵称
          },
          history: { // 分数提交后的历史最好成绩
            rank: -1, // 历史最好分数的排名 -1为未进入排行榜(排行榜只统计前500名)
            score: 0 // 历史最好分数
          }
      } */
    })
                                    

    3.4.3.获取当前玩家的排名。PS:该方法强制要求账号登录。

    /**
     * 获取当前玩家的排名
     * @param {func} callback 回调函数
     */
    window.h5api.getMyRanking(function(data) {
        /* data = {
          code: 10000, // 10000代表获取成功,10001为获取失败
          data: {
            uId: 1234567, // 用户编号
            userName: '昵称', // 用户昵称
            rank: 1, // 当前的排名 -1为未进入排行榜(排行榜只统计前500名)
            score: 100 // 当前的分数
          }
        } */
    })
                                    

    3.4.4.获得我排名附近的排名列表。PS:该方法强制要求账号登录。

    /**
     * 获得我排名附近的排名列表
     * @param {func} callback 回调函数
     * @param {int} step 需要条数(选填,默认为10)
     */
    window.h5api.getNearRanking(function(data) {
        /* data = {
          code: 10000, // 10000代表获取成功,10001为获取失败
          data: {
            // 排行榜只统计前500名,当前玩家没有进入排行榜时将返回空数组[]
            // 排行榜排名总数不足所需条数时返回当前所有排名
            // 当前玩家的排名将尽量居中,例如:
            // 玩家排名第3名,返回第1~10名数据
            // 玩家排名第10名,返回第5~14名数据
            // 玩家排名第499名,返回第490~500名数据
            list: [
              {
                uId: 1234567, // 用户编号
                userName: '昵称', // 用户昵称
                isMe: 1, // 1为当前玩家,否则为其他玩家
                rank: 1, // 当前的排名
                score: 100 // 当前的分数
              },
              ...
            ]
          }
        } */
    })
                                    

  • 4、常见问题解答

    4.1.原创平台对HTML5游戏有什么要求?

    游戏内容需原创,尺寸不能过大,需控制在800*600之内,并且适配主流手机屏幕,需要添加原创平台HTML5游戏基础API服务。

    4.2.原创平台积分排行榜服务需要用户登陆吗?

    目前原创平台为HTML5游戏提供的积分排行榜服务,需要登录后才可提交分数。

    4.3.关于其他引擎调 99H5API接口的说明和案例。(https://github.com/yswnldy/h5mini-2.0-sample)

    分享API、登录API、排行榜API目前只提供原生JS版本,各H5引擎的SDK及插件将在后期逐步支持。

    4.4.HTML5游戏如何测试?

    开发者在添加完H5API的相关接口后上传到原创平台,即可预览测试H5API的添加使用是否正常。

    4.5.更多HTML5常见问题见HTML5常见问题解答 。