2.4 RNSDK sdk初始化

功能说明:

游戏打开后调用该接口,务必在游戏Activity类的onCreate()方法中调用该接口。

接口形式:

public static void initSdk(Activity act, Bundle savedInstanceState, RNSDKListener callback)

参数说明:

activity: 当前游戏自身的activity实例

savedInstanceState: 当前游戏activity的savedInstanceState实例

callback: 回调里面统一处理相关的操作

接口示例:

  RNSDK.initSdk(this, savedInstanceState, new RNSDKListener() {
            @Override
            public void onLoginSuccess(LoginResponseData data) {
                //登录成功处理
                loginSuccess(data);
            }

            @Override
            public void onLoginFailure(int code, String errorMsg) {
                 //登录失败处理,研发可以不用弹错误信息提示,SDK内自带
                
            }
            
             @Override
            public void onSwitchAccount(int code, String msg, Object data) {
                //游戏内切换账号
                Log.e("rn_sdk", "onSwitchAccount code:"+code+";msg:"+msg+";data:"+data);
                 if (RNCode.OK == code){
                    LoginResponseData loginResponseData = (LoginResponseData) data;
                    loginSuccess(loginResponseData);
                }
            }

            @Override
            public void offline() {
               //防沉迷下线处理
                showToastMsg("游戏被挤下线了!!!!");
                RNSDK.logout(MainActivity.this);
                login();
            }

            @Override
            public void onOpenGM(String msg) {
                //打开客服
                Log.e("rn_sdk", "onOpenGM msg:"+msg);
                showToastMsg("onOpenGM msg:"+msg);
                if (!TextUtils.isEmpty(msg)) {
                    //客服预填充信息,研发方需要将该文本传到客服相关接口
                    //请参照客服SDK相关接口(请直接在Android代码里面调用打开客服的方法,不要通过
                    unity方法打开,避免出现不必要的bug问题)
                    showGMHelp(msg);
                }
            }

            @Override
            public void onLogout() {
                //退出登录
                logoutAccount();
            }

            @Override
            public void onBindAccountSuccess(String msg) {
                //绑定账号成功:msg为"usercenter"表示从用户中心绑定的结果
                showToastMsg("bindAccount success:" + msg);
            }

            @Override
            public void onBindAccountFailure(int code, String errorMsg) {
                //绑定账号失败
                showToastMsg("bindAccount fail:code:" + code + ";errorMsg:" + errorMsg);
            }

            @Override
            public void realNameCompleted(int code, String msg) {
                 //实名结果处理
                if (RNCode.OK == code) {
                    //实名认证成功
                    Toast.makeText(MainActivity.this, "实名认证成功!!!!", Toast.LENGTH_SHORT).show();
                } else if (RNCode.UN_SUPPORT_REAL_NAME == code) {
                    //不支持或者没有实名弹窗功能,研发自行处理
                    Log.e("rn_sdk", "UN_SUPPORT_REAL_NAME");
                    Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
                } else {
                    //实名认证失败
                    Toast.makeText(MainActivity.this, "实名认证失败!!!!", Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onPaySuccess(PayResponseData payResponseData) {
                 //支付成功
                // SDK方生成的订单号
                String cno = payResponseData.getCno();
                String payType = payResponseData.getPayType();
                String productId = payResponseData.getProductId(); // 支付的产品id
                String productCharge = payResponseData.getProductCharge();  // 支付的产品金额
                Log.e("rn_sdk", "player paid successfully payResponseData:" + payResponseData);
                showToastMsg("player paid successfully payResponseData:" + payResponseData);
            }

            @Override
            public void onPayFailure(int code,String errMsg) {
                //支付失败
                showToastMsg("player paid failed errMsg:" +code + errMsg);
            }

            @Override
            public void onPayCancel() {
                //支付取消
                showToastMsg("onPayCancel");
            }
            
            @Override
            public void onCommonListener(String module, String method, RespData response) {
             if (Constants.Module.TYPE_MSG_PASS.equals(module)){
                    //透传消息,后续需要用到的话由研发处理
               String data = response.getData();
             }
      
      }
        });

Last updated

Was this helpful?