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?