目录

@ohos.advertising.AdComponent (广告展示组件)

本模块提供展示广告的能力,覆盖了原生、贴片、开屏等广告样式。

本模块首批接口从API version 11开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

import { AdComponent } from '@kit.AdsKit';

AdComponent

AdComponent({
  ads: advertising.Advertisement[],
  displayOptions: advertising.AdDisplayOptions,
  interactionListener: advertising.AdInteractionListener,
  @BuilderParam adRenderer?: () => void,
  @Prop rollPlayState?: number
})

广告展示组件,提供展示原生、贴片、开屏等广告的能力。

装饰器类型:@Component

系统能力: SystemCapability.Advertising.Ads

参数:

名称 类型 必填 装饰器类型 说明
ads advertising.Advertisement[] 是 -

广告对象数组。

说明:非贴片广告类型,组件只展示数组第一个数据。

元服务API:从API version 12开始,该接口支持在元服务中使用。

displayOptions advertising.AdDisplayOptions 是 -

广告展示参数。

元服务API:从API version 12开始,该接口支持在元服务中使用。

interactionListener advertising.AdInteractionListener 是 -

广告状态变化回调。

元服务API:从API version 12开始,该接口支持在元服务中使用。

adRenderer12+ () => void 否 @BuilderParam

应用自渲染广告样式。应用自渲染广告样式为受限使用能力,具体请前往流量变现官网客服支持进行咨询。

元服务API:从API version 20开始,该接口支持在元服务中使用。

rollPlayState15+ number 否 @Prop

用于对外提供贴片广告播放状态,设置1为播放,2为暂停,默认值为2,其他值为非法值,不改变之前的播放状态。在贴片广告所在页面需要通过@State关联属性,使用方法参考示例代码。

元服务API:从API version 20开始,该接口支持在元服务中使用。

为了保证广告能正确展示,该接口必须和请求广告接口配套使用。效果和使用方法可参考原生广告、贴片广告、开屏广告接入和展示。

[h2]build

build(): void

用于创建AdComponent对象的构造函数。

元服务API: 从API version 12开始,该接口支持在元服务中使用。

系统能力: SystemCapability.Advertising.Ads

示例

import { AdComponent, advertising } from '@kit.AdsKit';
import { hilog } from '@kit.PerformanceAnalysisKit';

@Entry
@Component
struct Index {
  // 请求到的广告内容
  private ads: advertising.Advertisement[] = [];
  // 广告展示参数
  private adDisplayOptions: advertising.AdDisplayOptions = {};

  build() {
    Column() {
      AdComponent({
        ads: this.ads,
        displayOptions: this.adDisplayOptions,
        interactionListener: {
          onStatusChanged: (status: string, ad: advertising.Advertisement, data: string) => {
            switch (status) {
              case 'onAdOpen':
                hilog.info(0x0000, 'testTag', 'onAdOpen');
                break;
              case 'onAdClick':
                hilog.info(0x0000, 'testTag', 'onAdClick');
                break;
              case 'onAdClose':
                hilog.info(0x0000, 'testTag', 'onAdClose');
                break;
            }
          }
        }
      })
        .width('100%')
        .height('100%')
    }
    .width('100%')
    .height('100%')
  }
}