2.3.2 配置activity和Service
2.3.3 初始化SDK
2.3.3.1 获取参数
登录CP后台,获取初始化参数(如何查看参数?),其中初始化参数中的serverSeqNum为支付回调服务器序列号,该参数需要CP自定义,具体步骤详见
2.3.3.2 调用初始化接口
初始化Downjoy,获取实例,该方法必须在UI线程中初始化,不然会抛出异常,代码如下:
downjoy= Downjoy.getInstance(DemoActivity.this,MERCHANT_ID,APP_ID,SERVER_SEQ_NUM,APP_KEY,newInitListener() {@Overridepublic voidonInitComplete() {//此处CP请根据自己的逻辑判断是否调用登陆//注意:登录方法只能在收到初始化回调后调用,否则会造成参数错误等问题downjoyLogin();
}
});//设置登录成功后属否显示当乐SDK的悬浮按钮//注意://此处应在调用登录接口之前设置,默认值是true,即登录成功后自动显示当乐SDK的悬浮按钮。//如果此处设置为false,登录成功后,不显示当乐SDK的悬浮按钮。//正常使用悬浮按钮还需要实现两个函数,onResume、onPausedownjoy.showDownjoyIconAfterLogined(true);//设置悬浮窗显示位置downjoy.setInitLocation(Downjoy.LOCATION_RIGHT_CENTER_VERTICAL);//设置全局注销监听器,浮标中的注销也能接收到回调downjoy.setLogoutListener(mLogoutListener);
2.3.4 登录接口
说明:登录接口需要收到初始化成功回调之后才能调用,而不是初始化之后就调用,否则会出现登录出现参数错误的情况。
该方法需要在UI线程中调用.openLoginDialog(DemoActivity., CallbackListener() {
(status, LoginInfo data) {
(status == CallbackStatus.&& data != ) {
String umid = data.getUmid();
String username = data.getUserName();
String nickname = data.getNickName();
String token = data.getToken();
String checkTokenUrl = data.getCheckTokenUrl();
Util.(DemoActivity., + data.toString());
} (status == CallbackStatus.&& data != ) {
Util.(DemoActivity., + data.getMsg());
} (status == CallbackStatus.&& data != ) {
Util.(DemoActivity., + data.getMsg());
}
}
});
2.3.5 接入悬浮窗
2.3.5.1 确认manifest中的权限拷贝
2.3.5.2 设置登录后显示悬浮窗
downjoy.showDownjoyIconAfterLogined(true);
初始化时有设置此行代码,请阅读相关注释
2.3.5.3 接入生命周期
() {
.onResume();
(!= ) {
.resume(DemoActivity.);
}
}
() {
.onPause();
(!= ) {
.pause();
}
}
() {
.onDestroy();
(!= ) {
.destroy();
= ;
}
}
2.3.5.4 接入个人中心
如果游戏不愿意接入悬浮窗,可以接入个人中心,代码如下:
downjoy.openMemberCenterDialog(DemoActivity.this);
2.3.6 支付接口(money) {
(== )
;
String productName = ; String body = (); String transNo = (); String serverName = ; String playerName = ; .openPaymentDialog(, money, productName, body, transNo, serverName, playerName,
CallbackListener() {
(status, String data) {
(status == CallbackStatus.) {
Util.(DemoActivity., + data);
} (status == CallbackStatus.) {
Util.(DemoActivity., + data);
} (status == CallbackStatus.) {
Util.(DemoActivity., + data);
}
}
});
}
2.3.7 注销接口
downjoy.logout(DemoActivity.this);
2.3.8 游戏退出
重写Activity的onKeyDown方法
(keyCode, KeyEvent event) {
(keyCode == KeyEvent.) {
downjoyExit();
}
.onKeyDown(keyCode, event);
}
() {
(== )
;
.openExitDialog(, CallbackListener() {
(status, String data) {
(CallbackStatus.== status) {
finish();
} (CallbackStatus.== status) {
Util.(getBaseContext(), + data);
}
}
});
;
}
2.3.9 屏幕方向改变接入
如果游戏的屏幕方向可以横竖屏切换,需要接入onConfigurationChanged方法,示例代码如下:
(Configuration newConfig) {
.onConfigurationChanged(newConfig);
(!= ) {
.onConfigurationChanged(newConfig);
}
}
2.3.10 切换服务器序列号
.setServerSeqNum();