主题
开屏广告
1. 主要API
1.1 开屏请求类
ApexAdxAdRequest
| 参数 | 说明 |
|---|---|
| pid | 广告位 |
| userId | 媒体用户体系ID,可选,默认 null |
| options | 扩展参数,默认 null |
1.2 开屏对象类
ApexAdxSplashAd
| 方法 | 说明 |
|---|---|
ApexAdxSplashAd({required ApexAdxAdRequest request, required double width, required double height, String? title, String? desc, required ApexAdxSplashListener<ApexAdxSplashAd> listener}) | 初始化开屏广告对象,request 为广告请求对象必传,width 广告宽必传,height 广告位高必传,title 可选,desc 品牌区应用描述可选,listener 开屏视频接口必传 |
fetchAndDisplay() | 加载并展示广告,使用这个方法,加载成功后自动显示广告。不需要分加载和展示两个动作执行 |
fetchAd() | 发起广告加载 |
isAvailable() | 判断当前广告是否存在可展示的广告 |
displayAd() | 展示广告 |
release() | 销毁广告 |
updateAdSize(Size size) | 更新广告实际大小 |
Size? getAdSize() | 获取广告实际宽高 |
1.3 开屏回调说明
ApexAdxSplashListener 开屏回调说明
| 回调方法 | 说明 |
|---|---|
onAdLoaded(ApexAdxSplashAd ad) | 广告加载成功,可在此方法判断 isAvailable 后,调用 displayAd 来展示广告 |
onAdFailedToLoad(ApexAdxError? error) | 广告加载失败 |
onAdDisplayed() | 广告曝光 |
onAdFailedToDisplay(ApexAdxError? error) | 广告曝光失败 |
onAdTapped() | 广告被用户点击 |
onAdDismissed() | 广告关闭 |
2. 示例代码
2.1 创建开屏广告对象
dart
ApexAdxAdRequest request = ApexAdxAdRequest(pid: pid);
Size size = Size(window.physicalSize.width, window.physicalSize.height);
if (Platform.isIOS) {
size = Size(window.physicalSize.width / window.devicePixelRatio, window.physicalSize.height / window.devicePixelRatio);
}
ApexAdxSplashAd splashAd = ApexAdxSplashAd(
request: request,
width: size.width,
height: size.height,
listener: listener,
);2.2 设置监听回调
dart
class IApexAdxSplashListener extends ApexAdxSplashListener<ApexAdxSplashAd> {
@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 onAdFailedToDisplay(ApexAdxError error) {
print('onAdFailedToDisplay: ${error.message}');
}
@override
void onAdLoaded(ApexAdxSplashAd ad) async {
print('onAdLoaded');
}
}2.3 开屏广告加载
dart
splashAd.fetchAd();2.4 开屏广告播放
dart
bool isReady = await splashAd.isAvailable();
if (isReady) {
splashAd.displayAd();
}2.5 一次性加载并展示
dart
splashAd.fetchAndDisplay();