[隐藏]

目录

  • 1、API介绍

    在游戏根据积分提供玩家排名功能,提升游戏趣味。

  • 2、使用案例

  • 3、添加步骤

    • AS2
    • AS3

    3.1.接口使用准备:

    3.1.1.下载as2_api.rar包,并解压到你游戏代码的根目录

    3.1.2.在游戏第一帧添加api通用代码(所有api共用,有且仅添加一次)

    import AS2_4399_API.Bridge;
    _global.bridge = Bridge.getInstance();

    3.1.3.添加多排行榜id

    var _4399_function_rankList_id:String = '69f52ab6eb1061853a761ee8c26324ae';

    3.2.各个接口介绍:

    目前最低排名为10000名哦。如果低于10000名会没数据返回。

    3.2.1.根据用户名搜索其在某排行榜下的信息(该接口的apiName="1")

    /*
    rankListId 为排行榜id
    uname 为用户名
    */
    _global.bridge.getOneRankInfo(rankListId:Number,uname:String);

    3.2.2.根据自己的排名及范围取排行榜信息(该接口的apiName="2")

    /*
    rankListId 为排行榜id
    idx 为存档索引值
    rankNum 为距自己排名的个数
    */
    _global.bridge.getRankListByOwn(rankListId:Number,idx:Number,rankNum:Number);

    3.2.3.根据一页显示多少条及取第几页数据来取排行榜信息(该接口的apiName="4")

    /*
    rankListId 为排行榜id
    pageSize 为一页显示的条数
    pageNum 为页码
    */
    _global.bridge.getRankListsData(rankListId:Number,pageSize:Number,pageNum:Number);

    3.2.4.批量提交成绩至对应的排行榜,一次性最多提交5个排行榜(该接口的apiName="3")

    /*
    idx 为存档索引
    rankInfoAry 为多个排行榜的集合。里面包含每个排行榜的数据对象,如下:
    obj.rId 为排行榜Id,Number类型(必填)
    obj.score 为提交的分数,Number类型(必填)
    obj.extra 为扩展信息,object,array,Number,string,xml类型,最大不超过500字节(可选)
    */
    _global.bridge.submitScoreToRankLists(idx:Number,rankInfoAry:Array);

    3.2.5.根据用户ID及存档索引获取存档数据(该接口的apiName="5")

    /*
    uid 为用户id
    idx 为存档索引
    */
    _global.bridge.getUserData(uid:String,idx:Number);

    3.3.各个接口的回调处理:

    /*
    rankListContext 回调函数所在的位置
    onRankListErrorHandler 请求多排行榜API各个接口出错的回调函数
    onRankListSuccessHandler 请求多排行榜API各个接口成功的回调函数
    */
    _global.bridge.rankListError(rankListContext ,onRankListErrorHandler);
    _global.bridge.rankListSuccess(rankListContext ,onRankListSuccessHandler);
     
    function onRankListErrorHandler(ret:Object):Void{
        var obj:Object = ret;
        var str:String = "apiFlag:" + obj.apiName +"   errorCode:" + obj.code +"   message:" + obj.message + "\n";
        trace(str);
    }
     
    function onRankListSuccessHandler(ret:Object):Void{
        var obj:Object = ret;
        var str:String = "apiFlag:" + obj.apiName+ "\n";
        trace(str);
         
        var data = obj.data;
         
        switch(obj.apiName){
            case "1":
                //根据用户名搜索其在某排行榜下的信息
            case "2":
                //根据自己的排名及范围取排行榜信息
            case "4":
                //根据一页显示多少条及取第几页数据来取排行榜信息
                decodeRankListInfo(data);
                break;
            case "3":
                //批量提交成绩至对应的排行榜(numMax<=5,extra<=500B)
                decodeSumitScoreInfo(data);
                break;
            case "5":
                //根据用户ID及存档索引获取存档数据
                decodeUserData(data);
                break;
        }
    }
     
    function decodeUserData(dataObj:Object):Void{
        var str:String = "";
        if(dataObj == null){
            str = "没有用户数据!\n";
            trace(str);
            return;
        }
        str = "存档索引:" + dataObj.index+"\n标题:" + dataObj.title+"\n数据:"+dataObj.data+"\n存档时间:"+dataObj.datetime+"\n";
        trace(str);
    }
     
    function decodeSumitScoreInfo(dataAry:Array):Void{
        var str:String = "";
        if(dataAry == null || dataAry.length == 0){
            str = "没有数据,返回结果有问题!\n";
            trace(str);
            return;
        }
         
        for(var i in dataAry){
            var tmpObj:Object = dataAry[i];
            str= "第" + (Number(i)+1) + "条数据。排行榜ID:" + tmpObj.rId +"信息码值:"+tmpObj.code+"\n";
            //tmpObj.code == "20005" 表示排行榜已被锁定
            if(tmpObj.code=="10000"){
                str += "当前排名:" + tmpObj.curRank+",当前分数:"+tmpObj.curScore+",上一局排名:"+tmpObj.lastRank+",上一局分数:"+tmpObj.lastScore+"\n";
            }else{
                str += "该排行榜提交的分数出问题了。信息:"+tmpObj.message+"\n";
            }
            trace(str);
        }
    }
     
    function decodeRankListInfo(dataAry:Array):Void{
        var str:String = "";
        if(dataAry == null || dataAry.length == 0){
            Str = "没有数据!\n";
            trace(str);
            return;
        }
         
        for(var i in dataAry){
            var tmpObj:Object = dataAry[i];
            str= "第" + (Number(i)+1) + "条数据。存档索引:" + tmpObj.index+",用户id:" + tmpObj.uId+",昵称:"+tmpObj.userName+",分数:"+tmpObj.score+",排名:"+tmpObj.rank+",来自:"+tmpObj.area+",扩展信息:"+tmpObj.extra+"\n";
            trace(str);
        }
    }

    3.4错误信息列表:

    code:10001  //ApiHeader里面数据验证错误
    code:10002  //用户不存在(用户信息验证错误)
    code:10003  //排行榜ID错误
    code:20001  //参数错误
    code:20002  //排行榜不存在
    code:20003  //用户已被被锁定
    code:20004  //提交的积分异常
    code:20005  //排行榜已被锁定
    code:20006  //未到排行榜生效时间

  • 4、常见问题解答

    暂无