• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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```