• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.advertising.AdsServiceExtensionAbility (ExtensionAbility for Ads)
2
3
4The AdsServiceExtensionAbility module provides ExtensionAbilities for the ads service. Device vendors can implement the service logic of requesting one or multiple ads.
5
6
7> **NOTE**
8>
9> The initial APIs of this module are supported since API version 11. Newly added APIs will be marked with a superscript to indicate their earliest API version.
10> The APIs provided by this module are system APIs.
11
12
13## Modules to Import
14
15```ts
16import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';
17```
18
19
20## AdsServiceExtensionAbility.onLoadAd
21
22onLoadAd(adParam: advertising.AdRequestParams, adOptions: advertising.AdOptions, respCallback: RespCallback);
23
24Called when the media application starts to load an ad. The device vendor needs to implement the ad request service logic in this API and send the result to the media application through a call back.
25
26**System API**: This is a system API.
27
28**System capability**: SystemCapability.Advertising.Ads
29
30**Since**: 11
31
32**Parameters**
33
34| Name| Type| Mandatory| Description|
35| -------- | -------- | -------- | -------- |
36| adParam | advertising.[AdRequestParams](js-apis-advertising.md#adrequestparams) | Yes| Ad request parameters.|
37| adOptions | advertising.[AdOptions](js-apis-advertising.md#adoptions) | Yes| Ad configuration.|
38| respCallback | [RespCallback](#adsserviceextensionabilityrespcallback) | Yes| Ad request callback.|
39
40**Example**
41```ts
42import advertising from '@ohos.advertising';
43import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';
44import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';
45
46export default class AdsExtensionAbility extends AdsServiceExtensionAbility {
47  onLoadAd(adParam: advertising.AdRequestParams, adOptions: advertising.AdOptions, respCallback: RespCallback) {
48    const adType: number = adParam.adType;
49    const ads: Array<advertising.Advertisement> = [];
50    ads.push({adType: adType, uniqueId: '111111', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
51    ads.push({adType: adType, uniqueId: '222222', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
52    const slot: string = 'test';
53    const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
54    resMap.set(slot, ads);
55    respCallback(resMap);
56  }
57}
58```
59
60
61## AdsServiceExtensionAbility.onLoadAdWithMultiSlots
62
63onLoadAdWithMultiSlots(adParams: advertising.AdRequestParams[], adOptions: advertising.AdOptions, respCallback: RespCallback);
64
65Called when the media application starts to load multiple ads. The device vendor needs to implement the ad request service logic in this API and send the result to the media application through a call back.
66
67**System API**: This is a system API.
68
69**System capability**: SystemCapability.Advertising.Ads
70
71**Since**: 11
72
73Parameters
74
75| Name| Type| Mandatory| Description|
76| -------- | -------- | -------- | -------- |
77| adParams | advertising.[AdRequestParams](js-apis-advertising.md#adrequestparams)[] | Yes| Ad request parameters.|
78| adOptions | advertising.[AdOptions](js-apis-advertising.md#adoptions) | Yes| Ad configuration.|
79| respCallback | [RespCallback](#adsserviceextensionabilityrespcallback) | Yes| Ad request callback.|
80
81**Example**
82```ts
83import advertising from '@ohos.advertising';
84import AdsServiceExtensionAbility from '@ohos.advertising.AdsServiceExtensionAbility';
85import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';
86
87export default class AdsExtensionAbility extends AdsServiceExtensionAbility {
88  onLoadAdWithMultiSlots(adParams: advertising.AdRequestParams[], adOptions: advertising.AdOptions, respCallback: RespCallback) {
89    const adType1: number = adParams[0].adType;
90    const ads1: Array<advertising.Advertisement> = [];
91    ads1.push({adType: adType1, uniqueId: '111111', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
92    ads1.push({adType: adType1, uniqueId: '222222', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
93    const slot1: string = 'test1';
94    const adType2: number = adParams[1].adType;
95    const ads2: Array<advertising.Advertisement> = [];
96    ads2.push({adType: adType2, uniqueId: '333333', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
97    ads2.push({adType: adType2, uniqueId: '444444', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false});
98    const slot2: string = 'test2';
99    const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
100    resMap.set(slot1, ads1);
101    resMap.set(slot2, ads2);
102    respCallback(resMap);
103  }
104}
105```
106
107
108## AdsServiceExtensionAbility.RespCallback
109
110(respData: Map&lt;string, Array&lt;advertising.Advertisement&gt;&gt;): void;
111
112Defines the ad request callback.
113
114**System API**: This is a system API.
115
116**System capability**: SystemCapability.Advertising.Ads
117
118**Since**: 11
119
120Parameters
121
122
123| Name| Type| Mandatory| Description|
124| -------- | -------- | -------- | -------- |
125| respData | Map&lt;string, Array&lt;advertising.[Advertisement](js-apis-advertising.md#advertisement)&gt;&gt; | Yes| Data in the ad request callback.|
126
127
128**Example**
129```ts
130import advertising from '@ohos.advertising';
131import { RespCallback } from '@ohos.advertising.AdsServiceExtensionAbility';
132
133function respDemo(respCallback: RespCallback) {
134  const ads: Array<advertising.Advertisement> = [];
135  ads.push({adType: 7, uniqueId: '111111', rewardVerifyConfig: null, rewarded: false, shown: false,  clicked: false})
136  const slot: string = "test";
137  const resMap: Map<string, Array<advertising.Advertisement>> = new Map();
138  resMap.set(slot, ads);
139  respCallback(resMap);
140}
141```
142