harmony 鸿蒙重置OAID信息(仅对系统应用开放)
重置OAID信息(仅对系统应用开放)
场景介绍
OAID会在下述场景中发生变化: - 用户恢复手机出厂设置。 - 系统应用将bundleName配置到设备侧系统目录中,文件路径:etc/advertising/oaid/oaid_service_config.json,配置方式:用英文逗号隔开,添加到数组末尾。即可主动调用resetOAID()接口重置OAID。 下面为系统应用开发者给出重置OAID的开发指导。
接口说明
接口名 | 描述 |
---|---|
resetOAID(): void | 重置OAID,此接口为系统接口。 |
开发步骤
- 在模块的module.json5文件中,申请广告跟踪权限ohos.permission.APP_TRACKING_CONSENT。示例代码如下所示:
ts { "module": { "requestPermissions": [ { "name": "ohos.permission.APP_TRACKING_CONSENT", "reason": "$string:reason", "usedScene": { "abilities": [ "EntryFormAbility" ], "when": "inuse" } } ] } }
在应用启动时触发动态授权弹框,向用户请求授权。其中context的获取方式参见各类Context的获取方式。示例代码如下所示:
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';
import { BusinessError } from '@ohos.base';
import hilog from '@ohos.hilog';
import common from '@ohos.app.ability.common';
function requestOAIDTrackingConsentPermissions(context: common.Context): void {
// 进入页面时触发动态授权弹框,向用户请求授权广告跟踪权限
const atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
try {
atManager.requestPermissionsFromUser(context, ["ohos.permission.APP_TRACKING_CONSENT"]).then((data) => {
if (data.authResults[0] == 0) {
hilog.info(0x0000, 'testTag', '%{public}s', 'request permission success');
} else {
hilog.error(0x0000, 'testTag', '%{public}s', 'user rejected');
}
}).catch((err: BusinessError) => {
hilog.error(0x0000, 'testTag', '%{public}s', `request permission failed, error: ${err.code} ${err.message}`);
})
} catch (err) {
hilog.error(0x0000, 'testTag', '%{public}s', `catch err->${err.code}, ${err.message}`);
}
}
- 调用resetOAID方法重置OAID信息,此接口为系统接口。示例代码如下所示: “`ts import identifier from ‘@ohos.identifier.oaid’; import hilog from ‘@ohos.hilog’;
// 重置OAID
try {
identifier.resetOAID();
} catch (err) {
hilog.error(0x0000, ‘testTag’, ‘%{public}s’, reset oaid catch error: ${err.code} ${err.message}
);
}
“`
你可能感兴趣的鸿蒙文章
0
赞
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦