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,
});
BuildATSplashAdView(this.splashAd!, {
windowStage: DemoConstants.windowStage, //在UIAbility的onWindowStageCreate(windowStage: window.WindowStage)中获取
bottomViewBuilder: myBuilder // 可选,穿山甲、优量汇、GroMore、华为、快手广告时生效(参考Demo)
})
注:bottomView高度设置说明 ATSplashAdShowConfig: bottomViewBuilder
bottomViewBuilder 设置底部品牌入口bottomViewBuilder 则不显示底部品牌区域splashAd.loadAd 时通过 localExtraMap[AT_LOCAL_EXTRA_KEY.AD_HEIGHT] 设置广告高度,单位为 vp,为底部品牌入口预留空间开屏广告的操作类,负责广告加载、监听、显示等
| 方法 | 说明 |
|---|---|
| ATSplashAd(placementId: string) | 广告的初始化方法 placementID:开屏样式的广告位,通过后台创建开屏广告位获取的 |
| setAdListener(listener: ATSplashAdListener) | 设置广告位层级的广告监听回调 listener: 广告位事件回调的接口类 |
| loadAd(adLoadConfig?: ATSplashAdLoadConfig) | 发起广告加载 adLoadConfig: 加载广告配置 |
| BuildATSplashAdView(ATSplashAd) | 展示广告 |
| isAdReady() | 判断当前广告位是否存在可展示的广告 返回值:true =存在可展示的广告,false =不存在可展示的广告 |
| getPlacementId() | 获取广告位ID |
| getAdListener() | 获取广告位层级的广告监听回调 |
| getAdCaches() | 查询当前广告位的所有缓存信息的ATAdInfo对象 |
| getTopAdInfo() | 获取当前广告位优先级最高的广告缓存信息 ATAdInfo对象 |
开屏广告展示配置
| 属性 | 说明 |
|---|---|
| bottomViewBuilder | 设置底部品牌入口。穿山甲、优量汇、GroMore、华为、快手可统一通过该属性设置底部品牌入口。不传则不显示底部品牌区域。v6.0.19版本开始支持。 |
广告位层级的广告事件回调
| 方法 | 说明 |
|---|---|
| onAdLoaded: () | 广告加载成功回调 |
| onAdShow: (adInfo: ATAdInfo) | 广告展示回调 |
| onAdClick: (adInfo: ATAdInfo) | 广告点击回调 |
| onAdClose: (adInfo: ATAdInfo) | 广告关闭回调,可通过 adInfo.getDismissType() 获取开屏广告关闭原因 |
| onAdLoadFailed: (adError: ATAdError) | 广告加载失败回调 |
| onAdLoadTimeout() | 广告加载超时回调 |
广告信息对象
| 方法 | 说明 |
|---|---|
| getDismissType(): number | 获取开屏广告关闭原因,建议在 onAdClose 回调中调用,v6.3.40版本开始支持该方法 |
| getShowCustomExt(): string | 获取展示广告时通过 show_custom_ext 透传的自定义字符串,未传返回空字符串,v6.3.40版本开始支持该方法 |
注:getDismissType 返回值说明
| 值 | 含义 |
|---|---|
| 0 | 未知 |
| 1 | 正常关闭 |
| 2 | 点击跳过 |
| 3 | 倒计时结束 |
| 4 | 点击广告关闭 |
注:show_custom_ext 参数说明