コード例 #1
0
    /// <summary>
    /// 登入回调函数
    /// </summary>
    public override void LoginCallBack(string arg)
    {
        var model = CheckCallBackArg <LoginCallBackModel>(arg);

        if (model == null)
        {
            return;
        }

        DebugLog("收到登录回调:" + " 登录状态:" + model.loginStatue + " 回调内容:" + model.desc + "回调sid(token):" + model.sid);


        //修改登录状态
        if (model.loginStatue != (int)SDKManagerLoginState.Login_Success)
        {
            AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState(model.loginStatue);
            //TODO 根据回调错误码发送具体提示!
        }
        else
        {
            //改为正在登录状态  //SDK的登录成功并不表示真正的成功! - 要等服务器验证通过才算是登录成功!
            // AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState((int)SDKManagerLoginState.Logining);

            //暂时状态设置直接成功  (服务器验证放到后面)
            SDKLoginCompleteData onCompleteData = new SDKLoginCompleteData();
            onCompleteData.result = true;
            onCompleteData.arg    = model.sid;//登录验证数据(发给服务器验证)

            AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState((int)SDKManagerLoginState.Login_Success, onCompleteData);

            //TODO 将sid发送给服务器 获取accountid
        }
    }
コード例 #2
0
    /// <summary>
    /// 修改sdkManager Login状态  参数2:sdk登陆成功的回调数据
    /// </summary>
    public void ChangeSDKManagerLoginState(int state, SDKLoginCompleteData onCompleteData = null)
    {
        currentSDKLoginState = (SDKManagerLoginState)state;
        switch (currentSDKLoginState)
        {
        case SDKManagerLoginState.Login_Delete:
        case SDKManagerLoginState.Login_Cancle:
            DebugLog("登录未成功!当前登录状态码:" + currentSDKLoginState);
            if (onCompleteData == null)
            {
                onCompleteData = new SDKLoginCompleteData()
                {
                    result = false,
                };
            }
            break;

        case SDKManagerLoginState.Login_Success:
            DebugLog("登录成功(此为sdk验证登录了(服务器暂未登陆)!!当前登录状态码:" + currentSDKLoginState);
            break;

        default:
            return;
        }

        if (onGameLoginComplete != null && onCompleteData != null)
        {
            DebugLog("执行登陆回调!");
            onGameLoginComplete(onCompleteData);
            onGameLoginComplete = null;
        }
    }
コード例 #3
0
ファイル: HWPlatManager.cs プロジェクト: qb-lxl/SDKDemo
    /// <summary>
    /// 登入回调函数如果用户首次登录华为帐号进行游戏,那么调用login接口时,将不会返回只有playId的结果(即isAuth为0的情况),只会返回isAuth的结果。
    /// 强烈建议应用将对鉴权签名的验证放在服务器端进行,以保证验证结果的安全性。
    /// </summary>
    public override void LoginCallBack(string arg)
    {
        var model = CheckCallBackArg <LoginCallBackModel>(arg);

        if (model == null)
        {
            return;
        }
        DebugLog("登录 回调码:" + model.rst + "  回调结果:" + model.result);
        //TODO 回调数据暂时未用
        if (model.result != null)
        {
            if (model.result.isAuth == 0)
            {
                DebugLog("sdk 快速登入成功!!");
                //TODO
            }
            else if (model.result.isAuth == 1)
            {
                DebugLog("sdk 登入成功!准备将登入数据发给服务器进行验签!");
                //TODO 将数据发送给服务器进行验签
                SDKLoginCompleteData data = new SDKLoginCompleteData();
                data.result = true;
                data.arg    = string.Format("{0}:{1}:{2}:{3}:{4}:{5}",
                                            model.result.playerId,
                                            model.result.displayName,
                                            model.result.playerLevel,
                                            model.result.isAuth,
                                            model.result.ts,
                                            model.result.gameAuthSign);
                AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState((int)SDKManagerLoginState.Login_Success, data);
            }
        }
    }
コード例 #4
0
ファイル: OPPOPlatManager.cs プロジェクト: qb-lxl/SDKDemo
    /// <summary>
    /// 获取Token和SSid的回调
    /// </summary>
    /// <param name="arg"></param>
    public override void GetTokenCallBack(string arg)
    {
        DebugLog("Oppo GetTokenCallBack !");
        var model = CheckCallBackArg <GetTokenCallBackModel>(arg);

        if (model == null)
        {
            return;
        }


        if (model.resultCode == Default_ErrorCode && !string.IsNullOrEmpty(model.token))
        {
            //TODO 数据获取成功 - 发给服务器去获取角色数据!(暂时改为后期选服验证)
            DebugLog("token和ssoid 回调成功!暂时不发给服务器进行验证!" + arg);

            SDKLoginCompleteData completeData = new SDKLoginCompleteData();
            completeData.result = true;
            completeData.arg    = string.Format("{0}:{1}", model.token, model.ssoid);

            AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState((int)SDKManagerLoginState.Login_Success, completeData);
        }
        else
        {
            DebugLog("oppo sdk 的 Token和SSid获取失败!" + "错误码:" + model.resultCode + "错误信息:" + model.resultMsg);
            //TODO 根据错误码做出相应处理
            AndroidPlatSDKManager.Instance.ChangeSDKManagerLoginState((int)SDKManagerLoginState.Login_Delete);
        }
    }