插屏广告和激励视频广告最佳实践 - sunitsdk/SUnitUnityDemo GitHub Wiki
shareitSDK:SHAREitSDK.SHAREitSDK实例
1. 进入游戏后调用一次load
shareitSDK.loadInterstitialAd(string unitId);
shareitSDK.loadRewardedAd(string unitId);
2. 到达广告展示时机,调用 isReady, 如果返回true则调用show,如果返回false则调用load。
插屏广告代码示例:
if (shareitSDK.isInterstitialAdReady(unitId,"home")){
shareitSDK.showInterstitialAd(unitId,null);
} else {
shareitSDK.loadInterstitialAd(unitId);
}
激励视频广告代码示例:
if (shareitSDK.isRewardedAdReady(unitId,"home","portal1")){
shareitSDK.showRewardedAd(unitId,null);
} else {
shareitSDK.loadRewardedAd(unitId);
}
3. 如果没有等待 load callbak 的场景,可以不注册广告load的listener
Listener接口说明
AdShowListener
public class AdShowListener {
// 广告展示失败时将回调
delegate void onAdShowFailed(string unitId, int errCode, string errMessage);
// 广告展示回调, adSourceName 表示请求到的广告来自于哪个广告平台
delegate void onAdImpression(string unitId, string adSourceName);
// 广告点击时回调, adSourceName 表示请求到的广告来自于哪个广告平台
delegate void onAdClicked(string unitId, string adSourceName);
// 激励视频广告在达到激励条件时回调, adSourceName 表示请求到的广告来自于哪个广告平台; 插屏广告无此回调
delegate void onAdRewarded(string unitId, string adSourceName);
// 广告关闭时回调, adSourceName 表示请求到的广告来自于哪个广告平台; 激励视频广告可以根据 infoMap 中的 "hasReward" 字段来判断广告关闭时是否已经激励
delegate void onAdClosed(string unitId, string adSourceName, bool hasRewarded);
}