# @ohos.identifier.oaid (广告标识服务) 本模块提供开放匿名设备标识符(Open Anonymous Device Identifier, OAID,以下简称OAID)的获取能力。 > **说明:** > 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 > 使用获取开放匿名设备标识符接口,需[向用户申请授权](../../security/AccessToken/request-user-authorization.md):ohos.permission.APP_TRACKING_CONSENT ## 导入模块 ``` import { identifier } from '@kit.AdsKit'; ``` ## identifier.getOAID getOAID(): Promise<string> 获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用Promise异步返回。 **需要权限:** ohos.permission.APP_TRACKING_CONSENT **系统能力:** SystemCapability.Advertising.OAID **返回值:** | 类型 | 说明 | | -------- | -------- | | Promise<string> | Promise对象。返回开放匿名设备标识符(Open Anonymous Device Identifier, OAID)。
1.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“允许”,则返回OAID。
2.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“禁止”,则返回00000000-0000-0000-0000-000000000000。
3.如应用未配置ohos.permission.APP_TRACKING_CONSENT权限,则返回00000000-0000-0000-0000-000000000000。| **错误码:** 以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 17300001 | System internal error. | **示例:** ``` import { identifier } from '@kit.AdsKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; try { identifier.getOAID().then((data) => { const oaid: string = data; hilog.info(0x0000, 'testTag', '%{public}s', `succeeded in getting oaid by promise, oaid: ${oaid}`); }).catch((err: BusinessError) => { hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by promise failed, code: ${err.code}, message: ${err.message}`); }) } catch (err) { hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by promise catch error: ${err.code} ${err.message}`); } ``` ## identifier.getOAID getOAID(callback: AsyncCallback<string>): void 获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用callback异步回调。 **需要权限:** ohos.permission.APP_TRACKING_CONSENT **系统能力:** SystemCapability.Advertising.OAID **参数:** | **参数**名 | **类型** | 必填 | 说明 | | -------- | -------- | -------- | -------- | | callback | AsyncCallback<string> | 是 | 异步获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID)的回调。
1.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“允许”,则返回OAID。
2.如应用已配置ohos.permission.APP_TRACKING_CONSENT权限,且跨应用关联访问权限为“禁止”,则返回00000000-0000-0000-0000-000000000000。
3.如应用未配置ohos.permission.APP_TRACKING_CONSENT权限,则返回00000000-0000-0000-0000-000000000000。| **错误码:** 以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。 | 错误码ID | 错误信息 | | -------- | -------- | | 17300001 | System internal error. | **示例:** ``` import { identifier } from '@kit.AdsKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; import { BusinessError } from '@kit.BasicServicesKit'; try { identifier.getOAID((err: BusinessError, data: string) => { if (err.code) { hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by callback failed, error: ${err.code} ${err.message}`); } else { const oaid: string = data; hilog.info(0x0000, 'testTag', '%{public}s', 'succeed in getting oaid by callback'); } }); } catch (err) { hilog.error(0x0000, 'testTag', '%{public}s', `get oaid by callback catch error: ${err.code} ${err.message}`); } ```