菜单

横幅广告

1. 加载显示广告

@Entry
@Component
struct BannerAdPage {
  @State hasAd: boolean = false;
  private placementId: string = 'Your Placement Id';
  private atBannerAd?: ATBannerAd;
  private bannerAd?: BannerAd;

  aboutToAppear(): void {
  }

  build() {
    Column() {
      Button("Load Ad")
        .height(36)// .width('624px')
        .margin({ top: '2%' })
        .type(ButtonType.Capsule)
        .onClick(() => {
          this.requestAd();
        })
      Divider()
        .margin({ top: 20, bottom: 20 })

      if (this.hasAd && this.bannerAd) {
        BuildATBannerAdView(this.bannerAd, {
          onAdShow: (adInfo: ATAdInfo): void => {
          },
          onAdClick: (adInfo: ATAdInfo): void => {
          },
          onAdClose: (adInfo: ATAdInfo): void => {
          },
          onAdAutoRefreshed: (adInfo: ATAdInfo): void => {
          },
          onAdAutoRefreshFailed: (adError: ATAdError): void => {
          }
        })
      }
    }
  }

  requestAd() {
    const atBannerAd = new ATBannerAd(this.placementId);
    this.atBannerAd = atBannerAd;
    const that = this;
    atBannerAd.setAdListener({
      onAdLoaded: (): void => {
        that.bannerAd = that.atBannerAd?.getBannerAd();
        if (this.bannerAd) {
          that.hasAd = true;
        }
      },
      onAdLoadFailed: (adError: ATAdError): void => {

      }
    });
    atBannerAd.loadAd({
      context: getContext(),
      uiContext: this.getUIContext()
    })
  }
}

2. API说明

● ATBannerAd

横幅广告的操作类,负责广告加载、监听、显示等。

方法 说明
ATBannerAd(placementId: string) 广告的初始化方法
placementID:横幅样式的广告位,通过后台创建横幅广告位获取的
setAdListener(listener: ATBannerAdListener) 设置广告位层级的广告监听回调
listener:广告位事件回调的接口类
loadAd(adLoadConfig?: Nullable<ATBannerAdLoadConfig>) 发起广告加载
adLoadConfig:加载广告配置
getBannerAd(showConfig?: ATBannerAdShowConfig)

获取广告对象,用于展示广告

 

● ATBannerAdListener

广告位层级的广告加载事件回调

方法 说明

onAdLoaded: ()

广告加载成功回调
onAdLoadFailed: (adError: ATAdError)

广告加载失败回调

 

● ATBannerAdEventListener

广告位层级的广告事件回调

方法 说明

onAdShow: (adInfo: ATAdInfo)

广告展示回调

onAdClick: (adInfo: ATAdInfo)

广告点击回调

onAdClose?: (adInfo: ATAdInfo)

广告关闭回调

onAdAutoRefreshFailed?: (adError: ATAdError)

广告自动加载刷新失败回调

onAdAutoRefreshed: (adInfo: ATAdInfo)

广告自动加载刷新成功回调
最近修改: 2025-05-30Powered by