1. 介绍
简介
支撑您在HarmonyOS应用上进行广告流量变现,提供广告标识符能力方便您进行个性化广告投放。
- 广告标识符(OAID)
广告标识符(OAID)是一种非永久性设备标识符。使用OAID可在保护用户个人数据隐私安全的前提下,向用户提供个性化广告。 - 限制个性化广告
您可通过华为开放的API,获取广告标识符以及"限制广告跟踪"开关状态。
如果"限制广告跟踪"开关状态为关闭,您可基于广告标识符进行广告跟踪和个性化广告推荐以提升广告精准性。
如果用户设置"限制广告跟踪"开关为打开,开发者应用和广告商不能使用OAID来向用户推送个性化广告,但仍可以推送非个性化的广告。 - 隐私保护
用户可在系统"设置 > 隐私 > 广告与隐私"或"设置 > 安全与隐私 > 更多安全设置 > 匿名设备标识"界面中,重置"广告标识符"和启用"限制广告跟踪",以保护用户个人数据的隐私安全。
用户重置"广告标识符"后,会生成一个新的OAID,您将只能获取到这个新的OAID。
OAID开放能力

您可基于OAID,向用户提供个性化的营销活动或商业广告,提升转化效果,过程如下:
- 开发者JS FA可调用OAID API,获得OAID和"限制广告跟踪"开关状态。
- 开发者JS FA请求广告时,如果用户未启用"限制广告跟踪",可根据OAID构建的细分人群,进行个性化的营销活动和商业广告推荐。
- 开发者JS FA向用户展示广告,当广告被用户点击后,开发者JS FA可从应用市场下载、安装被推广的App。
- 开发者JS FA在曝光、点击、下载等事件中,携带OAID,用于平台对营销活动或商业广告的效果进行跟踪和分析。
您将建立什么
在这个codelab中,您将学习通过OAID API在HarmonyOS JS FA页面获取广告标识符(OAID)和"限制个性化广告"开关状态。
您将会学到什么
如何在HarmonyOS JS FA页面集成OAID API。
2. 您需要什么
硬件要求
支持HarmonyOS 2.0及以上的华为手机、华为平板。
软件要求
- JDK 1.7及以上
- 安装HUAWEI DevEco Studio 3.0.0.601 Beta1及以上
- compileSdkVersion 6
- compatibleSdkVersion 6
- HMS Core(APK)版本在6.1.0.300及以上
查看方法:设备上点击"设置 > 应用 > 应用管理"搜索HMS Core。
需要的知识点
3. 工程初始化
点击源码下载OAID工程。
使用DevEco Studio打开OAID工程。
4. 集成OAID开发能力
集成HUAWEI Ads Identifier Ohos SDK
- 在项目级"build.gradle"文件中配置Maven仓地址。
buildscript { repositories { maven { url 'https://repo.huaweicloud.com/repository/maven/' } maven { url 'https://developer.huawei.com/repo/' } } ... } allprojects { repositories { maven { url 'https://repo.huaweicloud.com/repository/maven/' } maven { url 'https://developer.huawei.com/repo/' } } } - 配置依赖。
在应用级的"build.gradle"文件中添加编译依赖,并将{version}替换为实际的HUAWEI Ads Identifier Ohos SDK仓库及依赖包版本号,请参见版本更新说明。dependencies { implementation 'com.huawei.hms:ads-identifier-ohos:{version}' } - 同步修改的文件。

- 在"entry/proguard-rules.pro"文件中添加如下两行代码,配置混淆脚本。
-keep class com.huawei.hms.ads.** { *; } -keep interface com.huawei.hms.ads.** { *; }
导入OAID JS API
- 在JS FA应用级模板根目录安装SDK。
将{version}替换为实际的版本号,版本号索引请参见版本更新说明。// 1.生成pakeage.json文件 npm init -y // 2.安装指定版本API模块 npm i @hw-ads/ohos-oaid@{version} - 入口Ability继承JSAbility。
public class MainAbility extends JSAbility { @Override public void onStart(Intent intent) { super.onStart(intent); } @Override public void onStop() { super.onStop(); } } - 在JS文件中导入API模块。
import oaid from "@hw-ads/ohos-oaid";
调用getAdvertisingIdInfo方法获取OAID信息
导入OAID API模板后,调用getAdvertisingIdInfo()方法获取OAID信息,代码示例如下:
// 导入OAID API模板
import AdvertisingIdClient from '@hw-ads/ohos-oaid';
export default {
data: {
oaid: null,
isOaidTrackLimited: null,
verifyResult: null,
costTime: null
},
onShow() {
this.updateAdIdInfo();
},
async updateAdIdInfo() {
const startTime = Date.now();
const advertisingIdInfo = await AdvertisingIdClient.getAdvertisingIdInfo();
const endTime = Date.now();
if (advertisingIdInfo) {
this.oaid = advertisingIdInfo.id;
this.isOaidTrackLimited = advertisingIdInfo.limitAdTrackingEnabled;
}
this.costTime = endTime - startTime;
this.verifyResult = await AdvertisingIdClient.verifyAdId(this.oaid, this.isOaidTrackLimited);
}
}
5. 运行工程
将OAID工程运行后用户界面显示如下。点击"Refresh OAID"按钮,即可获取OAID最新状态信息。

6. 恭喜您
祝贺您,您已经成功完成了codelab并学到了:
如何在HarmonyOS JS FA页面集成OAID API。
剩余