引力引擎最新版本 SDK 已支持获取 oaid,您可以不用手动集成 msa 包,当然如果您已经在使用 msa 官方包获取 oaid,您可以继续参考下方文档。
匿名设备标识符(Open Anonymous Device Identifier,简称 OAID)是一种用于安卓设备的唯一标识符,可由用户重置。该标识符由移动安全联盟(MSA)、中国信息通信研究院以及设备厂商合力推出,旨在替代 IMEI 等不可重置的设备标识符,以保护用户隐私。
使用最新的 MSA SDK 版本,才能支持市面上最新推出的手机,进而提升 OAID 的获取率,由于归因匹配很大程度上依赖 OAID 完成,所以使用最新版本的 MSA SDK 对于降低您应用的买量成本至关重要!
引力引擎 SDK 支持最新版本的 MSA SDK!需要您按照如下步骤进行手动集成。
1. 集成 OAID
1.1 MSA1.0.25 之后版本(推荐,采集率更高)
- 在MSA 官网注册账号并等待审核通过;
- 账号审核通过后,下载OAID的SDK,找到里面的 csv 文件,填写好游戏包名等信息,然后附邮件发送到 msa@caict.ac.cn 获取对应的证书文件(证书文件有效期为1年,请注意及时更换,建议可以通过服务端下发证书字符串,并通过引力提供的:setOaidCertStr 方法传入证书,可以保证历史已发布apk包在证书到期时无需升级安装包即可继续正常采集 oaid。)
- 证书申请完成之后,将
supplierconfig.json、应用包名.cert.pem、aar文件放在项目中合适的位置; - 按照 MSA 文档添加混淆配置。
引力引擎会默认读取 assets 中命名为应用包名.cert.pem的文件当做签名文件初始化 MSA SDK。
应用包名.cert.pem中应用包名要替换成你自己的应用包名!
如果你需要自定义签名文件的路径,可以使用如下方法进行设置
/**
* 定义 oaid 证书在 assets 中的文件相对路径
*
* @param filePath oaid 证书在 assets 中的相对路径,eg:"file/test.cert.pom"
*/
OaidHelper.setOaidCertFilePath(filePath);
如果您的证书文件不是放在项目中参与打包,而是后端下发的字符串,您可以通过如下方式传入证书内容:
/**
* 直接传入证书的文本内容
* @param oaidCertStr
*/
OaidHelper.setOaidCertStr(oaidCertStr);
1.2 MSA1.0.25 及之前版本
无需单独申请 MSA 证书,只需将 MSA 的 AAR 包集成到项目中即可,引力 SDK 将自动采集设备的 OAID。MSA 1.0.25 下载
缺点:部分新上市的手机机型可能无法成功采集 OAID,不建议采用!
2. 直接传入 OAID
如果您通过其他 SDK,比如友盟 SDK 已经获取到 OAID 字符串,您可以通过直接传入字符串的方式把 OAID 传递给引力 SDK,这样能避免引力再次获取,传入方式如下:
/**
* 用户直接设置oaid
* @param context
* @param oaid
*/
OaidHelper.setOaid(context, yourOaidString);
3. 获取 OAID
如您有获取 OAID 字符串的需要,可以按照如下方式获取
OaidHelper.getOpenAdIdentifier(mContext);
请注意该接口是同步接口,必须子线程中使用!经过测试,耗时在 10 - 1000ms 之间。