# 1 功能介绍

该部分用于获取一些SDK的基础信息,根据具体使用场景选择调用即可

# 2 前置条件

调用接口前请确保已完成以下条件:

# 3 接入步骤

# 3.1 获取渠道id

场景介绍

获取渠道的唯一标识id。

接口声明

public int getChannelId()
1

调用示例

HeroSdk.getInstance().getChannelId();
//这个一般与镜像id结合使用HeroSdk.getInstance().getCii();
//getCii() 获取到的值为0 说明是主渠道:使用getChannelId()的值
//getCii() 获取到的值不为0 说明是镜像渠道:使用getCii()的值
1
2
3
4
  • 备注:
    • 返回值为int类型,此标识id是永远不会变的

# 3.2 获取渠道名称

场景介绍 获取渠道的名称。

接口声明

public String getChannelName()
1

调用示例

HeroSdk.getInstance().getChannelName();
1
  • 备注:
    • 返回值为String类型 ,如"OPPO",“华为”,“联想”等;

# 3.3 获取渠道镜像id

场景介绍

获取SDK官方渠道 官方国内、官方海外 镜像渠道的唯一标识id。

接口声明

public int getCii()
1

调用示例

HeroSdk.getInstance().getCii();
//例如
//英雄互娱-安卓    getChannelId()返回 18  getCii() 返回 0
//taptap         getChannelId()返回 18  getCii() 返回 167
1
2
3
4

# 3.4 获取渠道SDK的版本名

场景介绍

获取游戏渠道SDK的版本名。

接口声明

public String getChannelSdkVersionName()
1

调用示例

HeroSdk.getInstance().getChannelSdkVersionName();
1
  • 备注:
    • 渠道SDK的版本名会随着渠道官方SDK的不断更新而变化
    • 若游戏是华为渠道包,则此函数返回值为华为渠道官方SDK的版本名,如"2.6.0.301"

# 3.5 获取用户信息

场景介绍

获取当前登录的用户信息对象。

接口声明

public UserInfo getUserInfo()
1

调用示例

HeroSdk.getInstance().getUserInfo();
1

# 3.6 获取渠道的ProjectId

WARNING

返回值可能存在空串或null,请谨慎处理

场景介绍

获取渠道的ProjectId,常用于游戏需要CPS分包时。

接口声明

public String getProjectId(Activity activity)
1

调用示例

HeroSdk.getInstance().getProjectId(activity);
1
  • 备注:
    • 若为华为包,返回值为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)
1

调用示例

HeroSdk.getInstance().getCustomParams("在中台配置的key");
1

# 3.8 获取渠道是否有退出框

场景介绍

判断当前渠道在调用退出接口时是否会弹出退出框。

接口声明

public Boolean isChannelHasExitDialog()
1

调用示例

HeroSdk.getInstance().isChannelHasExitDialog();
1

# 3.9 获取OAID

场景介绍

获取当前设备的OAID值。

接口声明

public void getOAID(Context context, IResultListener resultListener)
1

调用示例

HeroSdk.getInstance().getOAID(activity, new IResultListener() {
    @Override
    public void onRet(String ret) {
        //ret:返回的OAID值
    }
});
1
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)
1

调用示例

HeroSdk.getInstance().getProtocolResult(activity);
1

返回示例

{
	"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": "为了保证您游戏体验,我们将在游戏服务的过程中,申请并调用部分以下权限。您可以在弹出权限调用时,选择同意或者拒绝开启相关权限。若是拒绝则会影响部分功能,但同时您可在手机设置中随时再次调用相关权限。权限可能包括:"
}
1
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()
1

调用示例

HeroSdk.getInstance().getPushRegId();
//游戏拿到该值后,跟玩家信息做关联记录,方便后续定向推送
1
2
本文档对解决你的问题有所帮助?