💡Tips
- Smart Cache 自动管理多广告位并行加载、缓存与比价展示,无需传入聚合单元 ID(adUnitId)。
- 广告关闭后 SDK 会自动补量,开发者无需手动触发二次加载。
- 智能缓存拥有独立的回调通道(
McSmartCacheRewardedListener),与标准激励视频广告回调互不影响。- 激励视频额外提供奖励发放与视频播放状态回调。
- 如需自行手动控制加载、缓存,请参考这里
在加载广告前,先注册智能缓存激励视频广告的独立回调:
McSdk.setSmartCacheRewardedListener(McSmartCacheRewardedListener(
onDidLoadAd: (McAd ad) {
// 至少一个广告就绪,可以展示
},
onDidFailToLoadAd: (McError error) {
// 所有广告位均加载失败
},
onDidDisplayAd: (McAd ad) {
// 广告展示成功
},
onDidHideAd: (McAd ad) {
// 广告关闭,SDK 自动补量
},
onDidClickAd: (McAd ad) {
// 广告被点击
},
onDidFailToDisplayAd: (McAd ad, McError error) {
// 广告展示失败
},
onDidAdLoadFinished: () {
// 本轮加载结束(无论成功失败)
},
onDidPayRevenueForAd: (McAd ad) {
// 收益回调
},
onDidRewardUserForAd: (McAd ad, McReward reward) {
// 奖励发放成功,在此处理奖励逻辑
},
onDidFailToRewardUserForAd: (McAd ad) {
// 奖励发放失败
},
onDidAdVideoStarted: (McAd ad) {
// 视频开始播放
},
onDidAdVideoCompleted: (McAd ad) {
// 视频播放完成
},
));
调用以下方法触发智能缓存激励视频广告加载,SDK 将自动管理多广告位并行请求与缓存:
McSdk.smartLoadRewardedAd();
展示前可通过以下方法判断是否有缓存广告可展示:
bool? isReady = await McSdk.smartIsRewardedAdReady();
if (isReady == true) {
// 广告就绪,可以展示
}
当广告就绪后,调用以下方法展示激励视频广告:
McSdk.smartShowRewardedAd();
可通过以下方法设置额外参数,用于精细化控制广告行为:
// 设置额外参数,只用于 Max
McSdk.smartSetRewardedAdExtraParameter("key", "value");
// 设置本地额外参数
McSdk.smartSetRewardedAdLocalExtraParameter("key", value);