1# @ohos.identifier.oaid (广告标识服务) 2 3 4本模块提供开放匿名设备标识符(Open Anonymous Device Identifier, OAID,以下简称OAID)的获取能力。 5 6 7> **说明:** 8> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 9> 使用获取开放匿名设备标识符接口,需[向用户申请授权](../../security/AccessToken/request-user-authorization.md):ohos.permission.APP_TRACKING_CONSENT 10 11 12## 导入模块 13 14``` 15import { identifier } from '@kit.AdsKit'; 16``` 17 18 19## identifier.getOAID 20 21getOAID(): Promise<string> 22 23获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用Promise异步返回。 24 25**需要权限:** ohos.permission.APP_TRACKING_CONSENT 26 27**系统能力:** SystemCapability.Advertising.OAID 28 29**返回值:** 30 31| 类型 | 说明 | 32| -------- | -------- | 33| Promise<string> | Promise对象。返回开放匿名设备标识符(Open Anonymous Device Identifier, OAID)。<br/>1.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“允许”,则返回OAID。<br/>2.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“禁止”,则返回00000000-0000-0000-0000-000000000000。<br/>3.如应用未配置ohos.permission.APP_TRACKING_CONSENT权限,则返回00000000-0000-0000-0000-000000000000。| 34 35**错误码:** 36 37以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。 38 39| 错误码ID | 错误信息 | 40| -------- | -------- | 41| 17300001 | System internal error. | 42 43**示例:** 44``` 45import { identifier } from '@kit.AdsKit'; 46import { hilog } from '@kit.PerformanceAnalysisKit'; 47import { BusinessError } from '@kit.BasicServicesKit'; 48 49try { 50 identifier.getOAID().then((data) => { 51 const oaid: string = data; 52 hilog.info(0x0000, 'testTag', '%{public}s', `succeeded in getting oaid by promise, oaid: ${oaid}`); 53 }).catch((err: BusinessError) => { 54 hilog.error(0x0000, 'testTag', '%{public}s', 55 `get oaid by promise failed, code: ${err.code}, message: ${err.message}`); 56 }) 57} catch (err) { 58 hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by promise catch error: ${err.code} ${err.message}`); 59} 60``` 61 62 63## identifier.getOAID 64 65getOAID(callback: AsyncCallback<string>): void 66 67获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用callback异步回调。 68 69**需要权限:** ohos.permission.APP_TRACKING_CONSENT 70 71**系统能力:** SystemCapability.Advertising.OAID 72 73**参数:** 74 75 76| **参数**名 | **类型** | 必填 | 说明 | 77| -------- | -------- | -------- | -------- | 78| callback | AsyncCallback<string> | 是 | 异步获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID)的回调。<br/>1.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“允许”,则返回OAID。<br/>2.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“禁止”,则返回00000000-0000-0000-0000-000000000000。<br/>3.如应用未配置ohos.permission.APP_TRACKING_CONSENT权限,则返回00000000-0000-0000-0000-000000000000。| 79 80 81**错误码:** 82 83 84以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。 85 86 87| 错误码ID | 错误信息 | 88| -------- | -------- | 89| 17300001 | System internal error. | 90 91 92**示例:** 93``` 94import { identifier } from '@kit.AdsKit'; 95import { hilog } from '@kit.PerformanceAnalysisKit'; 96import { BusinessError } from '@kit.BasicServicesKit'; 97 98try { 99 identifier.getOAID((err: BusinessError, data: string) => { 100 if (err.code) { 101 hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by callback failed, error: ${err.code} ${err.message}`); 102 } else { 103 const oaid: string = data; 104 hilog.info(0x0000, 'testTag', '%{public}s', 'succeed in getting oaid by callback'); 105 } 106 }); 107} catch (err) { 108 hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by callback catch error: ${err.code} ${err.message}`); 109} 110``` 111