1# @ohos.advertising.AdComponent (非全屏广告展示组件) 2 3本模块提供展示非全屏广告的能力。 4 5> **说明:**<br/> 6> 本模块首批接口从API Version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 7 8## 导入模块 9 10```ts 11import { AdComponent } from '@kit.AdsKit'; 12``` 13 14## AdComponent 15 16AdComponent(ads: advertising.Advertisement[], displayOptions: advertising.AdDisplayOptions, interactionListener: advertising.AdInteractionListener, @BuilderParam adRenderer?: () => void, @Prop rollPlayState?: number): void 17 18展示非全屏广告。 19 20**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 21 22**系统能力:** SystemCapability.Advertising.Ads 23 24**参数:** 25 26| 参数名 | 类型 | 必填 | 说明 | 27|-----------------------------|-----------------------------------------------------------------------------------|-----|-------------------------------------------------------------------------------------------------| 28| ads | advertising.[Advertisement](js-apis-advertising.md#advertisement)[] | 是 | 广告对象数组。<br/>原子化服务API:从API version 12开始,该接口支持在原子化服务中使用。 | 29| displayOptions | advertising.[AdDisplayOptions](js-apis-advertising.md#addisplayoptions) | 是 | 广告展示参数。<br/>原子化服务API:从API version 12开始,该接口支持在原子化服务中使用。 | 30| interactionListener | advertising.[AdInteractionListener](js-apis-advertising.md#adinteractionlistener) | 是 | 广告状态变化回调。<br/>原子化服务API:从API version 12开始,该接口支持在原子化服务中使用。 | 31| adRenderer<sup>12+</sup> | () => void | 否 | 应用自渲染广告样式。 | 32| rollPlayState<sup>15+</sup> | number | 否 | 用于对外提供贴片广告播放状态,设置1为播放,2为暂停,其他值为非法值,不改变之前的播放状态。不填默认为2。 | 33 34**示例:** 35 36```ts 37import { AdComponent, advertising } from '@kit.AdsKit'; 38import { hilog } from '@kit.PerformanceAnalysisKit'; 39 40@Entry 41@Component 42struct Index { 43 // 请求到的广告内容 44 private ads: advertising.Advertisement[] = []; 45 // 广告展示参数 46 private adDisplayOptions: advertising.AdDisplayOptions = { 47 // 是否静音,默认不静音 48 mute: false 49 }; 50 51 build() { 52 Column() { 53 // AdComponent组件用于展示非全屏广告 54 AdComponent({ 55 ads: this.ads, 56 displayOptions: this.adDisplayOptions, 57 interactionListener: { 58 // 广告状态变化回调 59 onStatusChanged: (status: string, ad: advertising.Advertisement, data: string) => { 60 switch (status) { 61 case 'onAdOpen': 62 hilog.info(0x0000, 'testTag', 'onAdOpen'); 63 break; 64 case 'onAdClick': 65 hilog.info(0x0000, 'testTag', 'onAdClick'); 66 break; 67 case 'onAdClose': 68 hilog.info(0x0000, 'testTag', 'onAdClose'); 69 break; 70 } 71 } 72 } 73 }) 74 .width('100%') 75 .height('100%') 76 } 77 .width('100%') 78 .height('100%') 79 } 80} 81```