1# 重置OAID信息(仅对系统应用开放) 2 3## 场景介绍 4 5OAID会在下述场景中发生变化: 6- 用户恢复手机出厂设置。 7- 系统应用可主动调用resetOAID()接口重置OAID。 8下面为系统应用开发者给出重置OAID的开发指导。 9 10## 接口说明 11 12| 接口名 | 描述 | 13| -------- | -------- | 14| [resetOAID()](../../reference/apis-ads-kit/js-apis-oaid-sys.md#identifierresetoaid): void | 重置OAID,此接口为系统接口。 | 15 16 17## 开发步骤 18 191. 在模块的module.json5文件中,申请广告跟踪权限[ohos.permission.APP_TRACKING_CONSENT](../../security/AccessToken/permissions-for-all.md#ohospermissionapp_tracking_consent)。示例代码如下所示: 20 ```ts 21 { 22 "module": { 23 "requestPermissions": [ 24 { 25 "name": "ohos.permission.APP_TRACKING_CONSENT" 26 } 27 ] 28 } 29 } 30 ``` 31 32 在应用启动时触发动态授权弹框,向用户请求授权。其中context的获取方式参见[各类Context的获取方式](../../application-models/application-context-stage.md)。示例代码如下所示: 33 ``` 34 import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; 35 import { BusinessError } from '@ohos.base'; 36 import hilog from '@ohos.hilog'; 37 import common from '@ohos.app.ability.common'; 38 39 function requestOAIDTrackingConsentPermissions(context: common.Context): void { 40 // 进入页面时触发动态授权弹框,向用户请求授权广告跟踪权限 41 const atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager(); 42 try { 43 atManager.requestPermissionsFromUser(context, ["ohos.permission.APP_TRACKING_CONSENT"]).then((data) => { 44 if (data.authResults[0] == 0) { 45 hilog.info(0x0000, 'testTag', '%{public}s', 'request permission success'); 46 } else { 47 hilog.info(0x0000, 'testTag', '%{public}s', 'user rejected'); 48 } 49 }).catch((err: BusinessError) => { 50 hilog.error(0x0000, 'testTag', '%{public}s', `request permission failed, error: ${err.code} ${err.message}`); 51 }) 52 } catch(err) { 53 hilog.error(0x0000, 'testTag', '%{public}s', `catch err->${err.code}, ${err.message}`); 54 } 55 } 56 ``` 57 582. 调用resetOAID方法重置OAID信息,此接口为系统接口。示例代码如下所示: 59 ```ts 60 import identifier from '@ohos.identifier.oaid'; 61 import hilog from '@ohos.hilog'; 62 63 // 重置OAID 64 try { 65 identifier.resetOAID(); 66 } catch (err) { 67 hilog.error(0x0000, 'testTag', '%{public}s', `reset oaid catch error: ${err.code} ${err.message}`); 68 } 69 ``` 70