版本要求
HarmonyOS 广告 SDK 依赖神策 HarmonyOS Analytics SDK v0.5.0 及以上版本,在使用前请确保已经成功集成神策分析 SDK,并进行了 SDK 初始化,详情可参考 集成文档(HarmonyOS Analytics SDK)
SDK 集成
方式一:在 IDE 控制台按照以下命令行完成 SDK 的安装
联系交付或售后同学,提供 SDK 包,将 .har 拷贝到鸿蒙项目工程目录下,运行 ohpm install 命令。
示例:
需要注意 SensorsAdvertSDK.har 的路径。
ohpm install SensorsAdvertSDK.har
方式二:在 oh-package.json5 文件中添加依赖指向 SensorsABTesting.har 文件放置的位置,然后点击同步或执行 「ohpm install」 命令。
示例:
{
"name": "entry",
"version": "0.0.1",
"description": "广告Demo",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@sensorsdata/advert": "file:../lib/SensorsAdvertSDK.har", //此处需指向 SensorsAdvertSDK.har 在您工程中的目录
}
}
初始化 SDK
集成 SDK 后,在 HarmonyOS Analytics SDK 初始化后进行鸿蒙广告 SDK 的初始化。
import { AdvertConfigOptions, SensorsAdvertAPI } from '@sensorsdata/advert';
let adConfig = new AdvertConfigOptions();
SensorsAdvertAPI.start(adConfig, this.context);
权限配置说明
SDK 共需要一个权限,需要应用进行配置:
ohos.permission.APP_TRACKING_CONSENT |
必须权限,用于获取广告服务标识 OAID |
SDK 基本配置
记录激活事件
调用 trackAppInstall() 方法记录激活事件,多次调用此方法只会在第一次调用时触发激活事件。
SensorsAdvertAPI.sharedInstance.trackAppInstall()
说明
- 卸载重装后会重新触发。
- 在触发激活事件前请确保 App 具有 OAID 的获取权限,需要应用端配置 ohos.permission.APP_TRACKING_CONSENT 权限,并动态进行申请。更多说明请参照「华为广告服务」不分内容。
广告再营销
在初始化 SDK 时,调用 enableRemarketing() 接口开启广告再营销。
let adConfig = new AdvertConfigOptions();
adConfig.enableRemarketing();
// 如果 SDK 延迟初始化,请记录拉起 App 时的 url,并在初始化时传入 SDK,SDK 如果非延迟初始化,无需设置此项
adConfig.setWakeupUrl("延迟初始化SDK 时唤起 app 的 url");
SensorsAdvertAPI.start(adConfig, this.context);
DeepLink 功能
在 DeepLink 集成前请在神策广告服务平台创建应用以及应用对应模板。
在使用 DeepLink 功能时,首先需要完成以下配置:
- 在应用中正确集成 SDK
- 在神策广告服务中创建应用
唤醒 App 配置
在 AGC 控制台开通 App Linking 服务
这部分内容参照华为鸿蒙官方文档「使用App Linking实现应用间跳转」部分进行配置。
创建配置
在神策广告服务平台创建应用以及应用对应模板,创建完成后通过获取 Scheme 和子域内容。创建完成后点击「查看模板」。
在下面的示例中:
子域:lyslink5.debugbox.sensorsdata.cn
URL Scheme:a://sensorsdata/slink/lyslink5/
App 中配置
将获取的 scheme 和子域配置到鸿蒙工程中的 module.json5 文件中。在对应的 Ability 的 skills 中新增 entities 和 actions 部分。
- "entities" 列表中必须包含 "entity.system.browsable"。
- "actions" 列表中必须包含 "ohos.want.action.viewData"。
示例:
"skills": [
{
"entities": [
"entity.system.home",
// entities必须包含"entity.system.browsable"
"entity.system.browsable"
],
"actions": [
"action.system.home",
// actions必须包含"ohos.want.action.viewData"
"ohos.want.action.viewData"
],
}
在 skills 中 uris 部分配置 scheme 和子域。
示例:
"skills": [
{
"entities": [
"entity.system.home",
"entity.system.browsable"
],
"actions": [
"action.system.home",
// actions必须包含"ohos.want.action.viewData"
"ohos.want.action.viewData"
],
"uris": [
{
"scheme": "https 进行配置",
"host": "lyslink5.debugbox.sensorsdata.cn",
"path": "/slink"
},
{
"scheme": "a",
"host": "sensorsdata"
"path": "/slink/lyslink5"
}
],
// 华为官方 domainVerify 须设置为 true
"domainVerify": true
}
]
功能配置
设置自定义域名
在广告 SDK 初始化时调用 setCustomAdChannelUrl(url) 接口设置广告自定义域名。
adConfig.setCustomAdChannelUrl("设置 SLink 请求 URL")
开启 Deferred DeepLink 功能
通过 SensorsAdvertAPI 中的 requestDeferredDeepLink 接口开启 Deferred DeepLink 功能。接口示例:
let params: Record<string, string> = {
"示例参数": "示例参数",
}
SensorsAdvertAPI.sharedInstance.requestDeferredDeepLink(params)