菜单

开屏广告

1. 加载广告

复制代码
let splashAd = new ATSplashAd("your placement id");
splashAd.setAdListener({
  onAdLoaded: (isTimeout: boolean): void => { },
  onAdShow: (adInfo: ATAdInfo): void => { },
  onAdClick: (adInfo: ATAdInfo): void => { },
  
  onAdClose: (adInfo: ATAdInfo): void => {
    const dismissType = adInfo.getDismissType();
  },
  
  onAdLoadTimeout: (): void => { },
  onAdLoadFailed: (adError: ATAdError): void => { }
});

// 定义底部品牌入口,可选
@Builder
function bottomViewBuilder() {
  Text('Logo View')
    .backgroundColor(Color.Yellow)
    .width('100%')
    .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.BOTTOM])
    .height('20%')
}
let myBuilder: WrappedBuilder<[]> = wrapBuilder(bottomViewBuilder);


const localExtraMap: Record<string, Object> = {};
// 仅针对快手平台的广告配置
localExtraMap[ATKSConfig.VIDEO_AUTO_PLAY_TYPE_KEY] = 1; //设置自动播放
//设置宽高,单位/vp
localExtraMap[AT_LOCAL_EXTRA_KEY.AD_WIDTH] = px2vp(display.getDefaultDisplaySync().width);
localExtraMap[AT_LOCAL_EXTRA_KEY.AD_HEIGHT] = px2vp(display.getDefaultDisplaySync().height);

// 如需展示底部品牌入口,穿山甲 / GroMore 需设置广告高度,为底部品牌入口预留空间
// localExtraMap[AT_LOCAL_EXTRA_KEY.AD_HEIGHT] = px2vp(display.getDefaultDisplaySync().height) * 0.8;

splashAd.loadAd({
  context: getContext(),
  //v6.0.20及以上开屏新增加载参数: uiContext
  uiContext: this.getUIContext(),
  fetchAdTimeout: 5000,
  localExtraMap: localExtraMap,
});

2. 展示广告

复制代码
BuildATSplashAdView(this.splashAd!, {
  windowStage: DemoConstants.windowStage,  //在UIAbility的onWindowStageCreate(windowStage: window.WindowStage)中获取
  bottomViewBuilder: myBuilder  // 可选,穿山甲、优量汇、GroMore、华为、快手广告时生效(参考Demo)
})

注:bottomView高度设置说明 ATSplashAdShowConfig: bottomViewBuilder

  • 穿山甲、优量汇、GroMore、华为、快手可统一通过 bottomViewBuilder 设置底部品牌入口
  • 不传 bottomViewBuilder 则不显示底部品牌区域
  • 底部品牌入口高度必须小于等于屏幕高度的 20%,否则可能被裁剪或影响广告曝光
  • 如果需要展示穿山甲 / GroMore 的底部品牌入口,需在 splashAd.loadAd 时通过 localExtraMap[AT_LOCAL_EXTRA_KEY.AD_HEIGHT] 设置广告高度,单位为 vp,为底部品牌入口预留空间

3. API说明

● ATSplashAd

开屏广告的操作类,负责广告加载、监听、显示等

方法 说明
ATSplashAd(placementId: string) 广告的初始化方法 placementID:开屏样式的广告位,通过后台创建开屏广告位获取的
setAdListener(listener: ATSplashAdListener) 设置广告位层级的广告监听回调 listener: 广告位事件回调的接口类
loadAd(adLoadConfig?: ATSplashAdLoadConfig) 发起广告加载 adLoadConfig: 加载广告配置
BuildATSplashAdView(ATSplashAd) 展示广告
isAdReady() 判断当前广告位是否存在可展示的广告 返回值:true =存在可展示的广告,false =不存在可展示的广告
getPlacementId() 获取广告位ID
getAdListener() 获取广告位层级的广告监听回调
getAdCaches() 查询当前广告位的所有缓存信息的ATAdInfo对象
getTopAdInfo() 获取当前广告位优先级最高的广告缓存信息 ATAdInfo对象

● ATSplashAdShowConfig

开屏广告展示配置

属性 说明
bottomViewBuilder 设置底部品牌入口。穿山甲、优量汇、GroMore、华为、快手可统一通过该属性设置底部品牌入口。不传则不显示底部品牌区域。v6.0.19版本开始支持。

● ATSplashAdListener

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

方法 说明
onAdLoaded: () 广告加载成功回调
onAdShow: (adInfo: ATAdInfo) 广告展示回调
onAdClick: (adInfo: ATAdInfo) 广告点击回调
onAdClose: (adInfo: ATAdInfo) 广告关闭回调,可通过 adInfo.getDismissType() 获取开屏广告关闭原因
onAdLoadFailed: (adError: ATAdError) 广告加载失败回调
onAdLoadTimeout() 广告加载超时回调

● ATAdInfo

广告信息对象

方法 说明
getDismissType(): number 获取开屏广告关闭原因,建议在 onAdClose 回调中调用,v6.3.40版本开始支持该方法
getShowCustomExt(): string 获取展示广告时通过 show_custom_ext 透传的自定义字符串,未传返回空字符串,v6.3.40版本开始支持该方法

注:getDismissType 返回值说明

值 含义
0 未知
1 正常关闭
2 点击跳过
3 倒计时结束
4 点击广告关闭

注:show_custom_ext 参数说明

  • show_custom_ext 通过 showAd 的 localExtraMap 传入,与 Android 字段名一致。
  • show_custom_ext 为非必填参数,仅对本次展示生效,每次 showAd 需重新传入。
上一个
插屏广告
下一个
原生广告
最近修改: 2026-10-10Powered by