Skip to content

插屏广告

1、场景介绍

插屏广告是一种在应用开启、暂停或退出时以全屏或半屏的形式弹出的广告形式,展示时机巧妙避开用户对应用的正常体验,尺寸大,曝光效果好。

2、接口说明

typescript
export class TBInterstitialAd extends TBBaseAd {

  constructor(request: TBType.AdRequest);

  /**
   * 获取当前广告对象的广告请求信息
   */
  get request(): TBType.AdRequest;

  /**
   * 设置广告加载监听器
   */
  set adLoadListener(listener: TBAdLoadListener);

  /**
   * 设置广告交互监听器
   */
  set adInteractionListener(listener: TBInterstitialAdInteractionListener);

  /**
   * 检查广告是否准备完成,处于可播放状态。
   */
  ready(): boolean;

  /**
   * 返回广告缓存池内所有信息
   * 填充后可调用, 广告关闭后清理
   * @returns
   */
  getCacheAdInfoList(): TBAdInfo[];

  /**
   * 加载广告
   */
  loadAdData(): vodi;

  /**
   * 播放广告
   */
  showAd(options?: TBType.AdDisplayOptions): vodi;

  /**
   * 销毁数据
   */
  destroy(): void;
}

3、广告加载监听器

typescript
export interface TBAdLoadListener {
  /**
   * 广告素材缓存成功,此时广告处于等待播放状态
   */
  onAdDidLoad: () => void;

  /**
   * 广告加载失败
   * @param error 错误描述信息
   */
  onAdLoadError: (error: BusinessError) => void;
}

4、广告交互监听器

typescript
export interface TBInterstitialAdInteractionListener {
  /**
   *  广告展示
   * @param adInfo 当前渠道信息
   */
  onAdShow(adInfo: TBAdInfo): void;

  /**
   * 调用广告播放时出错
   * @param error 错误描述信息
   */
  onAdShowError(error: BusinessError<void>): void;

  /**
   *  广告点击
   * @param adInfo 当前渠道信息
   */
  onAdClick(adInfo: TBAdInfo): void;

  /**
   *  广告关闭
   * @param adInfo 当前渠道信息
   */
  onAdClose( adInfo: TBAdInfo): void;

  /**
   *  广告素材播放完成,例如视频未跳过,完整的播放了
   * @param adInfo 当前渠道信息
   */
  onVideoComplete(adInfo: TBAdInfo): void;

  /**
   *  用户在观看时点击了跳过
   * @param adInfo 当前渠道信息
   */
  onSkipped(adInfo: TBAdInfo): void;

  /**
   *  广告展示时出错
   * @param error 错误描述信息
   * @param adInfo 当前渠道信息
   */
  onVideoError(error: BusinessError, adInfo: TBAdInfo): void ;
}

5、加载插屏广告

typescript
// 创建广告请求参数
let request: TBType.AdRequest = {
    placementId: 'your placement id',
    userId: 'your user ID',
}
// 创建广告加载对象
let interstitialAd = new TBInterstitialAd(request);
// 设置广告监听
interstitialAd.adLoadListener = this;
interstitialAd.adInteractionListener = this;
// 加载广告
interstitialAd.loadAdData();

6、广告展示

广告加载成功后即可展示开屏广告,收到onAdDidLoad回调代表广告加载成功,建议在广告展示前通过ready方法判断广告是否准备完成。

typescript
// 展示广告
if (interstitialAd.ready()) {
    interstitialAd.showAd()
}