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