• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.identifier.oaid (广告标识服务)
2
3本模块提供开放匿名设备标识符(Open Anonymous Device Identifier, OAID,以下简称OAID)的获取能力。
4
5> **说明:**<br/>
6> 本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。<br/>
7> 使用获取开放匿名设备标识符接口,需[向用户申请授权](../../security/AccessToken/request-user-authorization.md):ohos.permission.APP_TRACKING_CONSENT8
9## 导入模块
10
11```ts
12import { identifier } from '@kit.AdsKit';
13```
14
15## identifier.getOAID
16
17getOAID(): Promise&lt;string&gt;
18
19获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用Promise异步返回。
20
21**需要权限:** ohos.permission.APP_TRACKING_CONSENT
22
23**系统能力:** SystemCapability.Advertising.OAID
24
25**返回值:**
26
27| 类型                  | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                           |
28|-----------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
29| Promise&lt;string&gt; | Promise对象。返回开放匿名设备标识符(Open&nbsp;Anonymous&nbsp;Device&nbsp;Identifier,&nbsp;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。 |
30
31**错误码:**
32
33以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。
34
35| 错误码ID | 错误信息                         |
36|----------|----------------------------------|
37| 17300001 | System&nbsp;internal&nbsp;error. |
38
39**示例:**
40
41```ts
42import { identifier } from '@kit.AdsKit';
43import { BusinessError } from '@kit.BasicServicesKit';
44import { hilog } from '@kit.PerformanceAnalysisKit';
45
46identifier.getOAID().then((data) => {
47  const oaid: string = data;
48  hilog.info(0x0000, 'testTag', `Succeed in getting oaid. Oaid is ${oaid}`);
49}).catch((err: BusinessError) => {
50  hilog.error(0x0000, 'testTag', `Fail to get oaid. Code is ${err.code}, message is ${err.message}`);
51})
52```
53
54## identifier.getOAID
55
56getOAID(callback: AsyncCallback&lt;string&gt;): void
57
58获取开放匿名设备标识符(Open Anonymous Device Identifier, OAID),使用callback异步回调。
59
60**需要权限:** ohos.permission.APP_TRACKING_CONSENT
61
62**系统能力:** SystemCapability.Advertising.OAID
63
64**参数:**
65
66| 参数名   | 类型                        | 必填 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                         |
67|----------|-----------------------------|-----|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
68| callback | AsyncCallback&lt;string&gt; | 是   | 异步获取开放匿名设备标识符(Open&nbsp;Anonymous&nbsp;Device&nbsp;Identifier,&nbsp;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。 |
69
70**错误码:**
71
72以下错误码的详细介绍请参见[广告标识服务错误码参考](errorcode-oaid.md)。
73
74| 错误码ID | 错误信息                         |
75|----------|----------------------------------|
76| 17300001 | System&nbsp;internal&nbsp;error. |
77
78**示例:**
79
80```ts
81import { identifier } from '@kit.AdsKit';
82import { BusinessError } from '@kit.BasicServicesKit';
83import { hilog } from '@kit.PerformanceAnalysisKit';
84
85identifier.getOAID((err: BusinessError, data: string) => {
86  if (err.code) {
87    hilog.error(0x0000, 'testTag', `Fail to get oaid. Code is ${err.code}, message is ${err.message}`);
88  } else {
89    const oaid: string = data;
90    hilog.info(0x0000, 'testTag', `Succeed in getting oaid. Oaid is ${oaid}`);
91  }
92});
93```