激励视频广告 - sunitsdk/SUnitDemo GitHub Wiki
下述参数中的unitId对应各家广告源生成的「Unit Space ID」,可协同SHAREit服务对接人获取
RewardedAd.loadAd(String unitId);
此接口必须要在主线程中调用
//scene 广告展示的场景
//subPortal 此次广告场景中的入口
RewardedAd.isAdReady(String unitId, String scene, String subPortal)
特殊场景:如果业务需要循环调用此方法检测广告缓存,或者用来切换按钮或图标状态(不是用来展示广告),为了避免产生不必要的数据,scene规定为ShareItAd.LOOP,subPortal不需要传
RewardedAd.isAdReady(unitId, ShareItAd.LOOP);
scene、subPortal 需要传入,方便做数据分析
此接口必须要在主线程中调用
目前提供了两种展示模式:
-
SDK管理广告缓存(推荐)(需配合isAdReady使用,loadAd请求不带adLoadListener参数)
SDK 将根据 unitId 查找已有的缓存对象. 无缓存时将展示失败(配合isAdReady使用)
RewardedAd.showAd(String unitId, IAdShowListener adShowListener)
示例:
//load
RewardedAd.loadAd(unitId,null);
//show
if (RewardedAd.isAdReady(unitId,scene, subPortal)) {
RewardedAd.showAd(unitId, null);
}
-
接入方自己管理缓存(loadAd请求带adLoadListener参数)
可以将缓存的广告对象直接进行展示. 广告对象过期或被销毁等情况将展示失败(需配合adLoadListenner使用)
RewardedAd.showAd(AdWrapper adWrapper, IAdShowListener adShowListener)
示例:
RewardedAd.loadAd(unitId, new IAdLoadListener() {
@Override
public void onAdLoaded(String unitId, AdWrapper adWrapper) {
RewardedAd.showAd(adWrapper, null);
}
@Override
public void onAdError(String unitId, AdException adError) {
}
});
此接口必须要在主线程中调用
//scene 广告展示的场景(页面)
//subPortal 点击展示激励视频的按钮
RewardedAd.showRewardedBadgeView(scene, String... subPortal);
scene、subPortal 需要传入
-
方法目的:统计激励视频从入口展示到用户点击之间的比例,方便做漏斗分析各个激励视频入口情况
-
上报场景:包含激励视频按钮的页面
-
调用时机:游戏场景从不可见到可见(打开弹窗或进入游戏场景;锁屏、home键、跳转其他场景后返回到原来场景),上报此页面内所有可点击激励视频入口。
Android原生简单示例:Activity、Fragment或Dialog中onResume方法。如当前为首页,并且有两个激励视频按钮
@Override
protected void onResume() {
super.onResume();
if(按钮均可点击&&按钮可见) {
RewardedAd.showRewardedBadgeView(ShareItAd.HOME, "portal1", "portal2");
}
}
cocos简单示例:如当前为首页,并且有两个激励视频按钮 首页场景订阅 cc.game.EVENT_HIDE cc.game.EVENT_SHOW 事件,当触发 EVENT_SHOW 事件时上报当前场景或弹框的所有可点击并且可见入口
cc.game.on(cc.game.EVENT_SHOW, function () {
if(按钮均可点击&&按钮可见) {
xx.showReWardedBadgeView(ShareItAd.HOME, "portal1", "portal2");
}
});
流程图示例: