简介

支撑您在HarmonyOS应用上进行广告流量变现,提供广告标识符能力方便您进行个性化广告投放。

OAID开放能力

您可基于OAID,向用户提供个性化的营销活动或商业广告,提升转化效果,过程如下:

  1. 开发者App可调用广告服务(Ads Kit)的接口,获得OAID和"限制广告跟踪"开关状态。
  2. 开发者App请求广告时,如果用户未启用"限制广告跟踪",可根据OAID构建的细分人群,进行个性化的营销活动和商业广告推荐。
  3. 开发者App向用户展示广告,当广告被用户点击后,开发者App可从应用市场下载、安装被推广的App。
  4. 开发者App在曝光、点击、下载等事件中,携带OAID,用于平台对营销活动或商业广告的效果进行跟踪和分析。

您将建立什么

在这个codelab中,您将学习App如何接入Ads Kit生态系统以及您的App获取广告标识符(OAID)和"限制个性化广告"开关状态。

您将会学到什么

如何集成Ads Kit的OAID开放能力。

硬件要求

支持HarmonyOS 2.0及以上的手机、平板。

软件要求

需要的知识点

HarmonyOS应用基础开发能力

在DevEco Studio中创建项目

  1. 打开DevEco Studio。
  2. 创建新项目,选择"Empty Ability(Java)",命名为"OaidExample"。
  3. 点击"Finish"。

配置HUAWEI Ads Identifier Ohos SDK仓库及依赖包

华为提供了Maven仓集成方式导入HUAWEI Ads Identifier Ohos SDK包。在开始开发前,您需要将HUAWEI Ads Identifier Ohos SDK集成到您的DevEco Studio开发环境中。

  1. 在项目级"bulid.gradle"文件中配置Maven仓地址。
    buildscript { repositories { maven { url 'https://repo.ark.tools.huawei.com/artifactory/maven-public/' } maven { url 'https://mirrors.tools.huawei.com/maven/' } maven { url 'https://developer.huawei.com/repo/' } } ... } allprojects { repositories { maven { url 'https://repo.ark.tools.huawei.com/artifactory/maven-public/' } maven { url 'https://mirrors.tools.huawei.com/maven/' } maven { url 'https://developer.huawei.com/repo/' } } }
  2. 在应用级"bulid.gradle"文件中添加编译依赖。

    {version}替换为实际的版本号,版本号索引请参见版本更新说明,修改如下:

    dependencies { implementation 'com.huawei.hms:ads-identifier-ohos:{version}' }
  3. 在完成以上的配置后,点击工具栏中的gradle同步图标,完成"bulid.gradle"文件的同步,将相关依赖下载到本地。

配置混淆脚本

您编译HAP前需要配置混淆配置文件,避免混淆HUAWEI Ads Identifier Ohos SDK导致功能异常。
打开工程应用级根目录下的"proguard-rules.pro"混淆配置文件,加入排除HUAWEI Ads Identifier Ohos SDK的混淆配置。

-keep class com.huawei.hms.ads.** {*; } -keep interface com.huawei.hms.ads.** {*; }

创建子线程,并调用静态的AdvertisingIdClient.getAdvertisingIdInfo(mContext)方法获取OAID信息,请勿在主线程中调用该方法,代码示例如下:

private void getOaid(Context context, OaidCallback callback) { if (null == context || null == callback) { HiLog.error(Label, "invalid input param"); return; } try { // 获取OAID信息,请勿在主线程中调用该方法 AdvertisingIdClient.Info info = AdvertisingIdClient.getAdvertisingIdInfo(context); if (null != info) { callback.onSuccess(info.getId(), info.isLimitAdTrackingEnabled()); } else { callback.onFail("oaid is null"); } } catch (IOException e) { HiLog.error(Label, "getAdvertisingIdInfo IOException"); callback.onFail("getAdvertisingIdInfo IOException"); } }

编译运行应用到设备,App运行后用户界面显示如下。

祝贺您,您已经成功完成了codelab并学到了:
如何集成Ads Kit的OAID开放能力。

您可以阅读相关链接,了解更多相关的信息。
您还可以点击源码下载

Code copied