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