Android-官方SDK 接入文档
修改人 | 修改时间 | 更新内容 | 版本 |
---|---|---|---|
许少聪 | 23-9-21 | 优化客服显示功能 | 4.5.2 |
李烽 | 24-1-3 | 优化闪验横屏显示 | 4.5.5 |
李烽 | 24-4-9 | 接入xh广告 | 4.6.0 |
1.兼容性
1.
2.
2.概述
1.
2.
3.
3.注意事项
4.接入流程
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation(name:'alipaySdk-15.6.5', ext:'aar')
implementation(name:'humesdk-1.0.0', ext:'aar')
implementation(name:'msa_mdid_1.0.13', ext:'aar')
implementation(name:'shanyan_sdk_v2.3.4.4', ext:'aar')
implementation(name:'track_v4_1.0.13_20221026', ext:'aar')
implementation(name:'dodsdk_v3_V4.6.0_20240409', ext:'aar')
implementation(name:'XH_AD_BASE', ext:'aar')
implementation(name:'XH_JH_BASE', ext:'aar')
implementation(name:'XH_SIMPLE_AD_SDK', ext:'aar')
implementation 'com.qiyukf.unicorn:unicorn:8.2.0'
implementation 'com.github.bumptech.glide:glide:4.10.0'
}
配置AndroidManifest.xml文件
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- dod sdk begin -->
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodLoginActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodFcmActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodAccountActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodPayActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodBindMobActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.dodjoy.dodsdk.view.activity.DodRealNameActivity"
android:theme="@style/Theme.Transparent"
android:configChanges="orientation|keyboardHidden|navigation|screenSize">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<!-- 闪验 Appid 一键登录必填 我方运营给到-->
<meta-data android:name="ShanYanAppId" android:value="xxxxx" />
<!-- 数数 Appid 上报数据埋点 我方运营给到-->
<meta-data android:name="ShuShuAppId" android:value="xxxx" />
<!-- 七鱼客服SDK 我方运营给到-->
<meta-data android:name="QiYuAppID" android:value="xxxx" />
<!-- 官方SDK AppID 我方运营给到-->
<meta-data android:name="DodAppId" android:value="1029" />
<!-- 是否上报到煋禾广告SDK-->
<meta-data android:name="Dod_XHAD" android:value="true" />
Application初始化接口
初始化接口(必接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Activity | activity | 当前上下文对象 | 是 |
AppId | string | 申请到的AppId | 是 |
IsDebug | boolean | 是否设置为调试模式 | 是 |
DodInitCallback | Callback | 初始化回调 | 是 |
DodLoginCallback | Callback | 登录回调 | 是 |
DodPayCallback | Callback | 支付回调 | 是 |
DodSDKApi.init(mActivity, AppId, false, new DodInitCallback() {
@Override
public void onInitFailure(String s) {
//初始化失败
Log.i(TAG, "onInitFailure " + s);
}
@Override
public void onInitSuccess() {
//初始化成功
Log.i(TAG, "onInitSuccess ");
}
}, new DodLoginCallback() {
@Override
public void onLoginSuccess(DodSDKUser dodSDKUser, Object o) {
//登录成功
String Uin = dodSDKUser.getUin();
String token = dodSDKUser.getToken();
Log.i(TAG, "onLoginSuccess " + dodSDKUser + "Uin :" + Uin + " token :" + token);
}
@Override
public void onLoginCancell(Object o) {
//取消登录
Log.i(TAG, "onLoginCancell " + o);
}
@Override
public void onLoginFail(Object o) {
//登录失败
Log.i(TAG, "onLoginFail " + o);
}
@Override
public void onLogout(Object o) {
//退出登录
Log.i(TAG, "onLogout " + o);
}
}, new DodPayCallback() {
@Override
public void onPaySuccess(String s) {
//支付成功
Log.i(TAG, "onPaySuccess " + s);
}
@Override
public void onPayCancel(String s) {
//取消支付
Log.i(TAG, "onPayCancel " + s);
}
});
登录接口(必接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Activity | activity | 当前上下文对象 | 是 |
CustomParams | object | 可传空或者test | 是 |
DodSDKApi.login(mActivity,"test");
用户中心接口(必接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Activity | activity | 当前上下文对象 | 是 |
DodSDKApi.showAccountCenter(mActivity);
切换账号接口(必接)
DodSDKApi.logout();
支付接口(必接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Activity | activity | 当前上下文对象 | 是 |
JSONObject | JSONObject | json字符串 | 是 |
Product_id | String | 游戏商品Id | 是 |
order_id | String | 游戏订单号 | 是 |
Price | String | 价格 | 是 |
Product_name | String | 商品名 | 是 |
Product_number | String | 商品数量 | 是 |
Extra_info | String | 扩展信息 | 没有可传空 |
String ProductId = "1"; //商品Id
String Order_Id = "20201313"; //游戏订单号
String Price = "1"; //价格
String ProductName = "钻石"; //商品名
String ProductNumber = "1"; //商品数量
String ExtraInfo = ""; //扩展信息
JSONObject json = new JSONObject();
json.put(DodSDKPay.ProductId, ProductId);
json.put(DodSDKPay.Order_Id, Order_Id);
json.put(DodSDKPay.Price, Price);
json.put(DodSDKPay.ProductName, ProductName);
json.put(DodSDKPay.ProductNumber, ProductNumber);
json.put(DodSDKPay.ExtraInfo, ExtraInfo);
DodUserManager.getInstance().pay(mActivity, json);
绑定手机接口(选接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Is_showBindView | boolean | 是否需要显示绑定界面 | 是 |
Is_resumeBindMob | boolean | 是否是重新绑定 | 是 |
DodSDKApi.checkBindMob(Is_showBindView, Is_resumeBindMob);
添加绑定手机回调(确保在初始化接口调用之后再调用此接口)
DodSDKApi.setBindMobListen(new DodBindMobCallback() {
@Override
public void onBindMobFailure(String s) {
}
@Override
public void onBingMobSuccess(String s) {
}
});
实名回调接口(选接)
参数 | 类型 | 描述 | 是否必传 |
---|---|---|---|
Callback | Callback | 回调 | 是 |
DodSDKApi.setRealNameListen(new DodRealNameCallback() {
@Override
public void onRealNameFailure(String s) {
Log.e("demo","实名失败:"+s);
}
@Override
public void onRealNameSuccess(String s) {
Log.e("demo","实名完成:"+s);
}
});
进入游戏角色上报(必接)
参数 | 描述 | 类型 |
---|---|---|
RoleID | 角色ID | String |
RoleName | 角色名 | String |
AreaName | 服务器名 | String |
RoleLevel | 角色等级 | String |
FightVal | 角色战力 | String |
AreaID | 服务器ID | String |
isEnterGame | 是否进入游戏 | boolean |
DodSDKApi.submitRoleInfo(RoleID, RoleName, AreaName,RoleLevel,FightVal,AreaID,isEnterGame);
XH游戏信息广告上报(必接)
参数 | 描述 | 类型 |
---|---|---|
roleId | 角色ID | String |
roleName | 角色名 | String |
areaName | 服务器名 | String |
roleLevel | 角色等级 | String |
vipLevel | VIP等级 | String |
areaID | 服务器ID | String |
type | 事件类型 | int |
DodSDKApi.submitRoleInfoXH(String roleId,String roleName,String roleLevel,String areaID,String areaName,String vipLevel,int type);
XH支付信息广告上报(必接)
参数 | 描述 | 类型 |
---|---|---|
TradeNo | 订单号 | String |
Amount | 金额,元.角分 | String |
GoodsType | 商品类型 | String |
GoodsId | 游戏方商品id | String |
GoodsName | 游戏方商品名称 | String |
ServerId | 服务器id | String |
ServerName | 服务器名 | String |
RoleId | 角色id | String |
RoleName | 角色名 | String |
RoleLevel | 角色等级 | String |
payType | 支付类型 | String |
public static void submitPayInfoXH(String TradeNo,String Amount,String GoodsType,String GoodsId,String GoodsName,String ServerId, String ServerName,String RoleId, String RoleName, String RoleLevel, String payType);
生命周期(必接,请在主线程调用)
DodSDKApi.onStart(Activity activity);
DodSDKApi.onRestart(Activity activity);
DodSDKApi.onResume(Activity activity);
DodSDKApi.onPause(Activity activity);
DodSDKApi.onStop(Activity activity);
DodSDKApi.onDestroy(Activity activity);
DodSDKApi.onNewIntent(Intent intent);
DodSDKApi.onActivityResult(int requestCode, int resultCode, Intent data);
DodSDKApi.onConfigurationChanged(Configuration newConfig);
DodSDKApi.onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults);