主题
插屏广告
1. 主要API
1.1 插屏广告请求类
ApexAdxAdRequest
| 参数 | 说明 |
|---|---|
| pid | 广告位 |
| userId | 媒体用户体系ID,可选,默认 null |
| options | 扩展参数,默认 null |
1.2 插屏视频对象类
ApexAdxInterstitialAd
| 方法 | 说明 |
|---|---|
ApexAdxInterstitialAd({required ApexAdxAdRequest request, required ApexAdxInterstitialListener<ApexAdxInterstitialAd> listener}) | 初始化插屏广告对象,request 为广告请求对象,必传,listener 插屏视频接口必传 |
fetchAd() | 发起广告加载 |
isAvailable() | 判断当前广告是否存在可展示的广告 |
displayAd({Map<String, String>? options}) | 展示广告,可选传入扩展参数 |
release() | 销毁广告 |
1.3 插屏广告回调说明
ApexAdxInterstitialListener 插屏广告回调说明
| 回调方法 | 说明 |
|---|---|
onAdLoaded(ApexAdxInterstitialAd ad) | 广告加载成功,可在此方法判断 isAvailable 后,调用 displayAd 来展示广告 |
onAdFailedToLoad(ApexAdxError error) | 广告加载失败 |
onAdDisplayed() | 广告曝光 |
onAdTapped() | 广告被用户点击 |
onAdDismissed() | 广告关闭 |
2. 示例代码
2.1 创建插屏广告对象
dart
ApexAdxAdRequest request = ApexAdxAdRequest(pid: pid);
ApexAdxInterstitialAd interstitialAd = ApexAdxInterstitialAd(request: request, listener: listener);2.2 设置监听回调
dart
class IApexAdxInterstitialListener extends ApexAdxInterstitialListener<ApexAdxInterstitialAd> {
@override
void onAdTapped() {
print('onAdTapped');
}
@override
void onAdDismissed() {
print('onAdDismissed');
}
@override
void onAdDisplayed() {
print('onAdDisplayed');
}
@override
void onAdFailedToLoad(ApexAdxError error) {
print('onAdFailedToLoad: ${error.message}');
}
@override
void onAdLoaded(ApexAdxInterstitialAd ad) {
print('onAdLoaded');
}
}2.3 插屏视频广告加载
dart
interstitialAd.fetchAd();2.4 插屏广告播放
dart
bool isReady = await interstitialAd.isAvailable();
if (isReady) {
interstitialAd.displayAd();
}2.5 插屏广告预加载注意事项
- 平台默认会开启预加载功能。
- 要注意全局使用同一个
ApexAdxInterstitialAd对象。(new注意判null) - 广告播放时可先判断
isAvailable(),如果 ready 直接播放,否则可再次调用fetchAd()。
dart
ApexAdxInterstitialAd? interstitialAd; // 全局对象
/**
* 加载广告
*/
void loadAd() {
if (interstitialAd == null) {
ApexAdxAdRequest request = ApexAdxAdRequest(pid: pid);
interstitialAd = ApexAdxInterstitialAd(request: request, listener: listener);
}
interstitialAd!.fetchAd();
}