@ohos.advertising.AutoAdComponent (Carousel Ad Component)

The AutoAdComponent module provides the capability of displaying carousel ads.

NOTE

The initial APIs of this module are supported since API version 11. Newly added APIs will be marked with a superscript to indicate their earliest API version.

Modules to Import

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

AutoAdComponent

AutoAdComponent({
  adParam: advertising.AdRequestParams,
  adOptions: advertising.AdOptions,
  displayOptions: advertising.AdDisplayOptions,  
  interactionListener: advertising.AdInteractionListener  
})  

Component used to display carousel ads.

Decorator: @Component

Atomic service API: This API can be used in atomic services since API version 12.

System capability: SystemCapability.Advertising.Ads

Parameters

Name Type Mandatory Decorator Description
adParam advertising.AdRequestParams Yes - Ad request parameters.
adOptions advertising.AdOptions Yes - Ad configuration options.
displayOptions advertising.AdDisplayOptions Yes - Ad display parameters.
interactionListener advertising.AdInteractionListener Yes - Ad status change callback.

Example:

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

@Entry
@Component
struct Index {
  // Ad request parameters.
  private adRequestParams: advertising.AdRequestParams = {
    // Ad ID.
    adId: 'h5xkz3mbr2',
    // Ad type.
    adType: 8,
    // Ad slot width, in vp.
    adWidth: 360,
    // Ad slot height, in vp.
    adHeight: 57
  };
  // Ad configuration options.
  private adOptions: advertising.AdOptions = {};
  // Ad display parameters.
  private adDisplayOptions: advertising.AdDisplayOptions = {
    // Interval at which the carousel items rotate, in ms. The value range is [30000, 120000].
    refreshTime: 30000
  };
  private ratio: number = -1;

  aboutToAppear() {
    if (this.adRequestParams.adWidth && this.adRequestParams.adHeight) {
      this.ratio = this.adRequestParams.adWidth / this.adRequestParams.adHeight;
    }
  }
  
  build() {
    Column() {
      AutoAdComponent({
        adParam: this.adRequestParams,
        adOptions: this.adOptions,
        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%')
        .aspectRatio(this.ratio)
    }
    .width('100%')
    .height('100%')
  }
}

build

build(): void

A constructor used to create an AutoAdComponent object.

Atomic service API: This API can be used in atomic services since API version 12.

System capability: SystemCapability.Advertising.Ads