1. 添加SDK资源文件
libs下所有jar包(kotlin-stdlib-1.3.50.jar(如果使用kotlin创建项目则不必引用)、kzdsdk-1.0.5.jar、okhttp-3.8.1.jar、okio-2.8.0.jar)
layout下所有kzd开头布局文件
drawable下所有kzd开头文件
drawable-xhdpi下所有kzd开头文件
values下所有kzd开头文件
2.添加权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
3.添加注册文件
<activity android:name="com.kzd.sdk.ui.activity.KZD_AccessActivity" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTask" android:theme="@style/KZDAppTheme.Dialog" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_EnterActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_HomeActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserGiftPackActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserSmallActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserServiceActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserPhoneActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserVerifyActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserPassActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserRechargeActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserRebateActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_UserProblemActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_RebateRecordActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_WebPayActivity" android:screenOrientation="portrait" />
<activity android:name="com.kzd.sdk.ui.activity.KZD_WebRichActivity" android:screenOrientation="portrait" />
4.初始化SDK
//(1)Project Application onCreate方法中调用
KZD_SdkInitParams params = new KZD_SdkInitParams();
params.setAppId("appid");//appid
params.setLoginKey("loginKey");//loginKey
params.setOrientation(KZD_SdkInitParams.PORTRAIT);//横屏竖屏(默认竖屏)
params.setCustomDensity(false);//是否设置自定义密度(默认false不设置)
KZD_SdkManager.init(this, params);
//(2)Project MainActivity 生命周期方法调用
KZD_SdkManager.onCreate(this)//必须调用
KZD_SdkManager.onRestart(this)//非必须,建议调用
KZD_SdkManager.onStart(this)//非必须,建议调用
KZD_SdkManager.onResume(this)//非必须,建议调用
KZD_SdkManager.onPause(this)//非必须,建议调用
KZD_SdkManager.onStop(this)//非必须,建议调用
KZD_SdkManager.onDestroy(this)//必须调用
5.设置监听器
//(1)方式一
KZD_SdkManager.setListener(new KZD_OnLoginListener() {//登录监听
@Override public void onLoginSuccess(String uid, String sessionId) {
//登录成功 uid用户小号id,sessionId后台服务器交互
}
@Override public void onLoginSwitch(int type) {
//登录切换 type=1大号切换,type=2小号切换
}
@Override public void onLoginCancel() {
//取消登录
}
@Override public void onLoginError(String error) {
//登录异常 error异常消息
}
}, new KZD_OnPayListener() {//支付监听
@Override public void onPayingSuccess(String text) {
//支付成功 text消息
}
@Override public void onPayingError(String error) {
//支付异常 error异常消息
}
}, new KZD_OnRoleListener() {//角色上传监听
@Override public void onRolesSuccess(String text) {
//上传成功 text消息
}
@Override public void onRolesError(String error) {
//上传异常 error异常消息
}
}, new KZD_OnExitListener() {//退出游戏监听
@Override public void onExitConfirm() {
//确认退出游戏
}
@Override public void onExitCancel() {
//取消退出游戏
}
});
//(2)方式二
KZD_SdkManager.setLoginListener(new KZD_OnLoginListener(){}});//登录监听
KZD_SdkManager.setPayListener(new KZD_OnPayListener(){});//支付监听
KZD_SdkManager.setRoleListener(new KZD_OnRoleListener(){});//角色上传监听
KZD_SdkManager.setExitListener(new KZD_OnExitListener(){});//退出游戏监听
6.调起登录
//已设置登录监听则调用
KZD_SdkManager.login(mActivity);
//未设置登录监听则调用
KZD_SdkManager.login(mActivity, new KZD_OnLoginListener() {
@Override public void onLoginSuccess(String uid, String sessionId) {
//登录成功 uid用户小号id,sessionId后台服务器交互
}
@Override public void onLoginSwitch(int type) {
//登录切换 type=1大号切换,type=2小号切换
}
@Override public void onLoginCancel() {
//取消登录
}
@Override public void onLoginError(String error) {
//登录异常 error异常消息
}
});
7.调起支付
//支付参数信息
KZD_SdkPayParams payParams = new KZD_SdkPayParams();
payParams.setSmallId("1");//登录成功后返回的uid(小号id)
payParams.setCpOrderId("0");//游戏订单,没有直接写0
payParams.setRoleId("1");//角色id
payParams.setServerId("1");//区服id
payParams.setMoney("98");//支付金额
payParams.setExtInfo("");//拓展参数
//已设置支付监听则调用
KZD_SdkManager.paying(mActivity, payParams);
//未设置支付监听则调用
KZD_SdkManager.paying(mActivity, payParams, new KZD_OnPayListener() {
@Override public void onPayingSuccess(String text) {
//支付成功 text消息
}
@Override public void onPayingError(String error) {
//支付异常 error异常消息
}
});
8.调起角色上传
//角色上传参数信息
KZD_SdkRoleParams roleParams = new KZD_SdkRoleParams();
roleParams.setSmallId("小号ID");//登录成功后返回的uid(小号id)
roleParams.setRoleName("测试角色名1");//角色名称
roleParams.setRoleId("1");//角色id
roleParams.setRoleLevel("1");//角色等级
roleParams.setGameName("测试游戏名");//游戏名称
roleParams.setServerId("1");//区服id
roleParams.setServerName("测试1区");//区服名称
//已设置角色上传监听则调用
KZD_SdkManager.roles(mActivity, roleParams);
//未设置角色上传监听则调用
KZD_SdkManager.roles(mActivity, roleParams, new KZD_OnRoleListener() {
@Override public void onRolesSuccess(String text) {
//上传成功 text消息
}
@Override public void onRolesError(String error) {
//上传异常 error异常消息
}
});
9.悬浮球控制
//(1)方式一
//在Project MainActivity onActivityResult方法中调用
KZD_SdkManager.onActivityResult(this, requestCode, resultCode, data);
//(2)方式二
//登录成功后直接调用
KZD_SdkManager.openFloatView(this);//打开悬浮窗
//在Project MainActivity onDestroy方法中调用
KZD_SdkManager.closeFloatView(this);//关闭悬浮窗
10.是否登录
//return true未登录,false已登录
KZD_SdkManager.isNotLogin()
11.注销账号
//return true注销成功 false注销失败,原因是主账号或小号并未登录
KZD_SdkManager.logout(DemoMainActivity.this)
12.退出游戏
/**
* isNotKillProcess = false 由SDK去关闭进程;
* isNotKillProcess = true SDK只会处理关闭悬浮窗、清空数据等相关操作,并不会退出游戏应用
* 注意:这里SDK中关闭进程是调用Process.killProcess(Process.myPid()),并非finish()
* 如果有其他的操作或方式请设置isNotKillProcess = true
*/
KZD_SdkManager.exit(activity,isNotKillProcess,exitListener) //已设置退出监听请调用
KZD_SdkManager.exit(this,isNotKillProcess) KZD_SdkManager.exit(this) //未设置退出监听请调用
KZD_SdkManager.exit(this,isNotKillProcess,new KZD_OnExitListener() {})
KZD_SdkManager.exit(this,new KZD_OnExitListener() {})