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