# 1 功能介绍
该部分用于获取一些SDK的基础信息,根据具体使用场景选择调用即可
# 2 前置条件
调用接口前请确保已完成以下条件:
- 已经导入了USDK资源,并完成了 《快速开始-第一步:集成》
# 3 接入步骤
# 3.1 获取渠道id
场景介绍
获取渠道的唯一标识id。
接口声明
public int getChannelId()
调用示例
HeroSdk.getInstance().getChannelId();
//这个一般与镜像id结合使用HeroSdk.getInstance().getCii();
//getCii() 获取到的值为0 说明是主渠道:使用getChannelId()的值
//getCii() 获取到的值不为0 说明是镜像渠道:使用getCii()的值
2
3
4
- 备注:
- 返回值为int类型,此标识id是永远不会变的
# 3.2 获取渠道名称
场景介绍 获取渠道的名称。
接口声明
public String getChannelName()
调用示例
HeroSdk.getInstance().getChannelName();
- 备注:
- 返回值为String类型 ,如"OPPO",“华为”,“联想”等;
# 3.3 获取渠道镜像id
场景介绍
获取SDK官方渠道 官方国内、官方海外 镜像渠道的唯一标识id。
接口声明
public int getCii()
调用示例
HeroSdk.getInstance().getCii();
//例如
//英雄互娱-安卓 getChannelId()返回 18 getCii() 返回 0
//taptap getChannelId()返回 18 getCii() 返回 167
2
3
4
# 3.4 获取渠道SDK的版本名
场景介绍
获取游戏渠道SDK的版本名。
接口声明
public String getChannelSdkVersionName()
调用示例
HeroSdk.getInstance().getChannelSdkVersionName();
- 备注:
- 渠道SDK的版本名会随着渠道官方SDK的不断更新而变化
- 若游戏是华为渠道包,则此函数返回值为华为渠道官方SDK的版本名,如"2.6.0.301"
# 3.5 获取用户信息
场景介绍
获取当前登录的用户信息对象。
接口声明
public UserInfo getUserInfo()
调用示例
HeroSdk.getInstance().getUserInfo();
# 3.6 获取渠道的ProjectId
WARNING
返回值可能存在空串或null,请谨慎处理
场景介绍
获取渠道的ProjectId,常用于游戏需要CPS分包时。
接口声明
public String getProjectId(Activity activity)
调用示例
HeroSdk.getInstance().getProjectId(activity);
- 备注:
- 若为华为包,返回值为AndroidManifest.xml中的channel_cps_id值,一般用于广告投放
- 若为官方SDK包,返回值为官方SDK的projectId
- 若为全球SDK包,返回值为JSON串,包含project_id和img_id,如:
{ "project_id": "10003", "img_id": "240" }
1
2
3
4
# 3.7 获取游戏自定义参数
场景介绍
获取用户在中台配置的自定义参数值。
接口声明
public String getCustomParams(String key)
调用示例
HeroSdk.getInstance().getCustomParams("在中台配置的key");
# 3.8 获取渠道是否有退出框
场景介绍
判断当前渠道在调用退出接口时是否会弹出退出框。
接口声明
public Boolean isChannelHasExitDialog()
调用示例
HeroSdk.getInstance().isChannelHasExitDialog();
# 3.9 获取OAID
场景介绍
获取当前设备的OAID值。
接口声明
public void getOAID(Context context, IResultListener resultListener)
调用示例
HeroSdk.getInstance().getOAID(activity, new IResultListener() {
@Override
public void onRet(String ret) {
//ret:返回的OAID值
}
});
2
3
4
5
6
# 如何使用高版本OAID (例如: 游戏需要在巨量平台投放时,巨量平台要求游戏需要集成2.0.0以上版本)
游戏需要前往MSA官网 (opens new window)申请获取票据(游戏包名为com.test.game,MSA返回的票据文件名称为com.test.game.cert.pem),游戏研发只需要将该文件放置在Android工程assets目录下。使用母包出渠道包时,打包工具会自动在包名为com.test.game的渠道包中使用高版本MSA SDK。
注意:高版本的OAID票据有效期为1年,请及时更新该文件,否则会导致使用该票据的APK完全拿不到OAID。
具体优先级规则如下:渠道SDK使用版本 > 有票据(目前集成2.3.0) > 默认使用1.0.25版本
- 备注:
- OAID模块已经封装成插件,会在打渠道包的时候由出包工具将OAID插件自动加入到游戏中,因此只有渠道包才会有OAID的返回值,母包的返回值为空字符串
# 3.10 获取USDK后台配置的协议及权限内容
场景介绍
用户在中台配置了对应渠道的协议和权限内容,可通过此方法获取到配置的协议和权限JSON串,包含协议url、名称和权限说明等
中台配置协议与权限的位置
中台协议与权限配置地址 (opens new window)
接口声明
public JSONObject getProtocolResult(Activity activity)
调用示例
HeroSdk.getInstance().getProtocolResult(activity);
返回示例
{
"userAgrName": "英雄互娱用户协议",
"sdkAgrUrl": "https://ti.qq.com/agreement/qqface.html?appname=mqq_2019",
"swPermission": "1",
"sdkAgrName": "腾讯QQ协议",
"priAgrName": "英雄隐私",
"childAgrName": "英雄互娱儿童个人信息保护政策",
"swStatus": "1",
"childAgrUrl": "https://www.yingxiong.com/p/per_child.html?productId=12345678&cid=0",
"version": "1.0",
"permissions": [{
"des": "用于接收验证码、推送等功能",
"name": "短信",
"icon": "https://s-static.yingxiong.com/file/1619005083373_85582472.png",
"id": 1
}, {
"des": "游戏内上传图片",
"name": "相册",
"icon": "https://s-static.yingxiong.com/file/1619005112593_65828612.png",
"id": 16
}],
"userAgrUrl": "https://www.yingxiong.com/p/agreement_global.html?productId=12345678&cid=0",
"priAgrUrl": "https://www.baidu.com?productId=12345678&cid=0",
"ptitle": "为了保证您游戏体验,我们将在游戏服务的过程中,申请并调用部分以下权限。您可以在弹出权限调用时,选择同意或者拒绝开启相关权限。若是拒绝则会影响部分功能,但同时您可在手机设置中随时再次调用相关权限。权限可能包括:"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
字段说明
字段 | 类型 | 说明 | 备注 |
---|---|---|---|
priAgrName | String | 隐私协议名称 | 例:英雄隐私协议 |
priAgrUrl | String | 隐私协议地址 | 例:https://www.yingxiong.com/p/per_adu.html |
userAgrName | String | 用户协议名称 | 例:英雄用户协议 |
userAgrUrl | String | 用户协议地址 | 例:https://www.yingxiong.com/p/per_adu.html |
childAgrName | String | 儿童信息保护政策 | 例:英雄互娱儿童个人信息保护政策 |
childAgrUrl | String | 儿童信息保护政策地址 | 例:https://www.yingxiong.com/p/per_adu.html |
sdkAgrName | String | 三方SDK协议 | 例:小米XXX协议 |
sdkAgrUrl | String | 三方SDK协议地址 | 例:https://www.yingxiong.com/p/per_adu.html |
version | String | 当前协议的版本 | 当协议版本与之前获取到的协议版本不一致时,建议重新提示用户协议更改 |
permissions-des | String | 当前权限的描述 | 例:游戏内上传图片 |
permissions-name | String | 当前权限的名称 | 例:相册 |
permissions-icon | String | 当前权限的图标地址 | 例:https://s-static.yingxiong.com/file/1619005112593_65828612.png |
permissions-id | int | 当前权限的id排序 | 可忽略排序 |
# 3.10 获取推送RegId
场景介绍
使用中台提供的推送插件时,获取到设备的RegId,方便后续做定向推送
接口声明
public String getPushRegId()
调用示例
HeroSdk.getInstance().getPushRegId();
//游戏拿到该值后,跟玩家信息做关联记录,方便后续定向推送
2