插屏广告和激励视频广告最佳实践 - sunitsdk/SUnitDemo GitHub Wiki

以下方式采用SDK管理广告缓存模式
SDK内部将会在打开游戏和广告展示后自动预加载广告

1. 进入游戏后调用一次load

InterstitialAd.loadAd(String unitId);
RewardedAd.loadAd(String unitId);

2. 到达广告展示时机,调用 isAdReady, 如果返回true,则进行展示,如果返回false,则直接调用load

插屏广告代码示例:

if (InterstitialAd.isAdReady(unitId,"home")){
    InterstitialAd.showAd(unitId,null);
} else {
    InterstitialAd.loadAd(unitId);
}

激励视频广告代码示例:

if (RewardedAd.isAdReady(unitId,"home","portal1")){
    RewardedAd.showAd(unitId,null);
} else {
    RewardedAd.loadAd(unitId);
}

3. 如果没有等待 load callbak 的场景,可以不注册广告load的listener

Listener接口说明

public interface IAdShowListener {
    // 广告展示失败时将回调
    void onAdShowFailed(String unitId, AdException adException);
    // 广告展示回调, adSourceName 表示请求到的广告来自于哪个广告平台
    void onAdImpression(String unitId, String adSourceName);
    // 广告点击时回调, adSourceName 表示请求到的广告来自于哪个广告平台
    void onAdClicked(String unitId, String adSourceName);
    // 激励视频广告在达到激励条件时回调, adSourceName 表示请求到的广告来自于哪个广告平台; 插屏广告无此回调
    void onAdRewarded(String unitId, String adSourceName);
    // 广告关闭时回调, adSourceName 表示请求到的广告来自于哪个广告平台; 激励视频广告可以根据 infoMap 中的 "hasReward" 字段来判断广告关闭时是否已经激励
    void onAdClosed(String unitId, String adSourceName, boolean hasRewarded);
}
⚠️ **GitHub.com Fallback** ⚠️