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<string, Array<advertising.Advertisement>>): 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<string, Array<advertising.[Advertisement](js-apis-advertising.md#advertisement)>> | 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