Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zw_game_sdk
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
CI / CD
CI / CD
流水线
日程表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
提交
问题看板
Open sidebar
zwwl
zw_game_sdk
Commits
f5f5dc9a
提交
f5f5dc9a
authored
3月 29, 2022
作者:
Tareafengye
提交者:
刘添
3月 29, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Android 文档提交
上级
b1d96732
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
288 行增加
和
0 行删除
+288
-0
android对接说明.md
android对接说明.md
+288
-0
没有找到文件。
android对接说明.md
0 → 100644
浏览文件 @
f5f5dc9a
## GameSDKV1.0文档接入使用
[
目录
](
#sec1
)
1
[
获取参数
](
#sec1
)
2
[
获取对接demo
](
#sec2
)
3
[
导入配置SDK资源AndroidStudio
](
#sec3
)
4
[
配置清单文件
](
#sec4
)
5
[
初始化 SDK
](
#sec5
)
6
[
登录
](
#sec6
)
7
[
调起支付页面
](
#sec7
)
8
[
角色上报
](
#sec8
)
9
[
退出登录
](
#sec9
)
#### 说明
此对接文档只适合与sdkv1.0版本。
所有SDK功能在GameSDK类中,可通过初始化获取改类对象,后续所有更新功能都调用这个类中方法完成
文档中所有GameSDK指SDK初始化获得的对象
### 1、获取参数<a name="sec1"></a>
从平台,获取一下参数,用于对接,填入清单文件对应的meta信息里
| 参数名 | 说明 |
|:--------| -------------:|
| app_id | 对接游戏ID |
| app_key | 渠道值 |
```
<meta-data
android:name="app_id"
android:value="149" />
<meta-data
android:name="app_key"
android:value="xxxxxxxxxxxx" />
```
### 2、获取对接demo<a name="sec2"></a>
从平台处获取对接demo,android studio版本,选择合适的版本接入。
### 3、导入配置SDK资源Androidstudio项目<a name="sec3"></a>
-
将GameSDK-xxx.aar文件复制到libs文件下

-
在主工程build.gradle配置,如下图所示:

### 4、配置清单文件(具体请参考demo)<a name="sec4"></a>
1、参考demo中的清单文件配置,主要分为权限配置、sdk所需的组件配置,meta信息配置。(权限部分SDK已经适配,访问文件权限,Android10网络访问权限,安装适配等均已适配,但不包含所有设备)
2.
sdk 的代码已经经过混淆,请勿混淆sdk的代码
3、打包apk签名机制需要勾选V1、V2签名
说明:
sdk代码已经经过混淆,请不要再次混淆sdk代码,demo会贴出SDK混淆代码,可复制到自己混淆中(具体请参考demo)
### 5、初始化SDK<a name="sec5"></a>
-
说明:sdk初始化操作方法,最先调用,需要在主线程调用,最好游戏主界面activity中调用。此方法的可多次调用用于获得sdk全局管理器。
-
调用示例:在游戏主界面activity的onCreate方法中调用
```
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
GameSdk.getInstance().init(this);
}
```
### 6、登录<a name="sec6"></a>
1、添加登录回调监听
```
public void addLoginListener(OnLoginListener onLoginListener)
```
-
说明:在登陆前必须注册登陆回调监听,用于接收登陆结果,登录成功返回token
-
参数:
-
| 参数 | 说明|
|:--------| -------------:|
|OnLoginListener|登录回调接口|
-
参数类说明:OnLoginListener需要实现两个方法:
登录成功
```
void loginSuccess(Object data);
```
登录失败
```
void loginError(Object data);
```
Object中包含:
| 参数 | 说明|
|:--------| -------------:|
|token|登录成功返回token|
-
调用示例
```
GameSdk.getInstance().addLoginListener(this, new OnLoginListener() {
@Override
public void loginSuccess(Object data) {
Log.e("loginSuccess",data+"");
//显示悬浮球(根据游戏需求显示,可以在初始化显示,可以登录成功之后显示)
GameSdk.getInstance().show(SdkDemoActivity.this);
}
@Override
public void loginError(Object data) {
}
});
```
### 7、调起支付页面<a name="sec7"></a>
1、调起支付页面
```
public void showPay(CustomPayParam payParam, OnPaymentListener paymentListener)
```
-
说明:调用此方法进入支付页面
参数:
| 参数 | 说明 |
|:----|-----:|
|payParam|支付参数|
|paymentListener|回调接口|
-
调用示例
```
CustomPayParam data=new CustomPayParam();
CustomPayParam.RoleBean role=new CustomPayParam.RoleBean();
CustomPayParam.OrderBean orderInfo=new CustomPayParam.OrderBean();
data.setRole_id("425");
role.setEvent("other");
role.setServer_id("100001");
role.setRole_name("主宰传奇");
role.setCp_role_id("2413930833603897345");
role.setServer_name("主宰服");
role.setRole_level("83");
role.setRole_vip("0");
orderInfo.setCp_order_id("312223131");
orderInfo.setAmount("1");
orderInfo.setProduct_price("1");
orderInfo.setProduct_id("101");
orderInfo.setProduct_cnt("1");
orderInfo.setProduct_name("8元档充值");
orderInfo.setProduct_desc("商品");
orderInfo.setExt("测试数据");
data.setRole(role);
data.setOrder(orderInfo);
GameSdk.getInstance().showPay(this,data, new OnPaymentListener() {
@Override
public void Success(String msg) {
}
@Override
public void Failed(String msg) {
}
});
```
### 下单支付字段说明
1、order对象参数说明
| 名称|类型 | 是否必须| 默认值 | 备注|
|:--------| -------------:| -------------:|-------------:|-------------:|
|cp_order_id|string|非必须| |CP订单ID|
|amount|number|非必须| |商品总价(单位:分|
|product_price|number|非必须| |商品价格(整数,后台自动换算分)|
|product_id|String|非必须| |商品ID|
|product_cnt|number|非必须| |商品数量|
|product_name|string|非必须| |商品名称|
|product_desc|string|非必须| |商品描述|
|ext|string|非必须| |订单额外信息用(json)|
|event|string|非必须| |事件|
|server_id|string|非必须| |区服id|
|server_name|string|非必须| |区服名称|
|cp_role_id|string|非必须| |cp角色id|
|role_name|string|非必须| |角色名称|
|role_level|string|非必须| |角色等级|
|role_vip|string|非必须| |角色vip等级|
|role_id|string|非必须| |角色ID|
### 8、角色上报<a name="sec8"></a>
```
GameInfoSetting setting=new GameInfoSetting();
setting.setCp_account("w55231582254");
setting.setMember_id("11");
GameRoleInfo roleInfo=new GameRoleInfo();
roleInfo.setCombat_num("25564");
roleInfo.setCp_role_id("24139308336038973450");
roleInfo.setEvent("create");
roleInfo.setOnline_time("15426");
roleInfo.setRole_level("15");
roleInfo.setRole_name("测试角色上报");
roleInfo.setRole_vip("23");
roleInfo.setServer_id("100001");
roleInfo.setServer_name("主宰服");
setting.setRole(roleInfo);
GameSdk.getInstance().putRoleReport(setting, new SubmitRoleInfoCallBack() {
@Override
public void onSuccess(Object o) {
}
@Override
public void onFailure(int code, String msg) {
}
});
```
###角色上报字段说明
| 名称|类型 | 是否必须| 默认值 | 备注|
|:--------| -------------:| -------------------:|-------------:|-------------:|
|member_id|number|非必须| |账号ID|
|role{}|object|非必须| |角色信息|
|event|String|非必须| |事件类型,online: 角色登录, create: 创建角色,level_up: 提升等级,offline: 角色退出,other: 其他,delete: 删除角色|
|server_id|string|非必须| |区服ID|
|server_name|string|非必须| |区服名称|
|cp_role_id|string|非必须| |CP角色ID|
|role_name|string|非必须| |角色名称|
|role_level|number|非必须| |角色等级|
|role_vip|number|非必须| |角色VIP等级|
|combat_num|number|非必须| |角色战力|
|online_time|number|非必须| |本次在线时长|
|cp_account|number|非必须| |CP账户|
### 9、退出登录<a name="sec9"></a>
1、添加登出回调监听
```
public void addLogoutListener(OnLogoutListener onLogoutListener)
```
-
说明:在退出登陆前必须注册退出登陆回调监听,用于接收退出登陆,或者登陆过期的退出登陆结果。
| 参数|说明|
|:--------| ----:|
|OnLogoutListener|退出登陆回调接口|
-
参数类说明:OnLogoutListener需要实现两个方法:
-
退出登陆成功:
```
public void logoutSuccess(String s);
```
-
退出登陆失败
```
public void logoutError(String msg);
```
-
说明:退出登录成功并返回所有信息与code状态
使用示例
```
GameSdk.getInstance().addLogoutListener(new OnLogoutListener() {
@Override
public void logoutSuccess(String s) {
}
@Override
public void logoutError(String s) {
}
});
```
-
说明:在需要退出登陆时可调用此方法,注意此方法为退出,并不会调出登陆界面
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论