接入的版本是oaid_sdk_1.1.0
一、接入步骤
- 把 oaid_sdk_x.x.x.aar 拷贝到项目的 libs 目录,并设置依赖,其中
x.x.x 代表版本号。 - 将 supplierconfig.json 拷贝到项目 assets 目录下,并修改里边对应内
容,特别是需要设置 appid 的部分。需要注意的是,其中 label 部分内容无
需修改。 - 将证书文件(应用包名.cert.pem)拷贝到项目 assets 目录下。
证书需要填写 example_batch.csv 后发送到 msa@caict.ac.cn 申请,注意每
个包名对应一个签名,申请时需要将所需申请的全部包名填写到表格中
新版本sdk证书是必须了的,不过申请也是很快的,记得一天就有回复了。
协助步骤:下载它的demo,用它demo中的DemoHelper的类,移到项目中。
二、开始使用
1、在同意隐私政策后,初始化
System.loadLibrary("msaoaidsec");
2、在你需要拿oaid的地方
OAIdHelper oaIdHelper = new OAIdHelper(this);
oaIdHelper.getDeviceIds(mContext);
3、在onIdsValid回调方法中会返回给你oaid
@Override
public void onIdsValid(String ids) {
//to do you want
}
以上就完成了接入和使用
三、注意点和问题
- DemoHelper类中的证书名记得修改
- 如果发生错了,可以看DemoHelper类中的log,看错在那一步
如果是运行出错,可以看移动智能终端补充设备标识体系统一调用SDK F&Qv2.7.pdf这份文档。
可能出现的错误
我接入时就报了“Missing 'package' key attribute on element package at
[oaid_sdk_1.0.XX.aar] AndroidManifest.xml......”
解决方案:为了适配 Android11,aar 的 AndroidManifest 中添加了
<queries>..</queries>元素,这个问题解决方法是参考 Android 官方的文档,升
级 Android Gradle 版本,也可在 aar 的 AndroidManifest.xml 文件中删除这个元
素,但 sdk 删除</queries>元素在部分品牌的 android11 上无法获取 oaid。
网友评论