概览
插屏广告
插屏广告属于全屏广告。一般在关卡过渡,应用开始等节点出现。一般来说插屏广告,用户可选择关闭,并在关闭后返回应用。Vungle插屏的广告素材与奖励广告是相同的。插屏与奖励广告取决于传入参数placement reference id在dashboard上的类型。
奖励广告
Vungle的奖励广告是全屏视频广告。在播放完毕广告后,会自动跳转到落地页。在落地页用户可点击跳转到商店下载广告应用或游戏。
请注意奖励广告某些时候也被称为 激励广告。
有两种方式给奖励:应用内奖励和Server to Server回调。应用内奖励的话,当用户观看完毕或点击了一个广告的话,用户就能得到奖励了。该种方式简单集成。
Vungle 现在通过动态模板广告提供各种广告格式。与传统广告格式不同,此格式包含视频播放后跟一个结束卡,我们提供的模板在视频播放时会显示行动号召 (CTA) 按钮。看完视频广告的用户以及点击此按钮的用户应获得奖励。
步骤1. 完成基本集成
在Android和Amazon平台上集成插屏,请先查看文档basic integration。
步骤2. 添加回调
您可以一个通用的 LoadAdCallback
和 PlayAdCallback
给Load和Play方法也可以 在 loadAd
和 playAd
方法内实现。
LoadAdCallback
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, VungleException exception) {
// Ad has failed to load for the placement
}
};
// 6.4.x & below
private final LoadAdCallback vungleLoadAdCallback = new LoadAdCallback() {
@Override
public void onAdLoad(String id) {
// Ad has been successfully loaded for the placement
}
@Override
public void onError(String id, Throwable throwable) {
// Ad has failed to load for the placement
}
};
Overridable Methods | 描述 |
---|---|
onAdLoad(String id) |
当广告缓存完毕时触发 |
onError(String id) |
当初始化失败时触发,此时请查看错误信息getLocalizedMessage 以便获知getExceptionCode 。 |
PlayAdCallback
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdViewed(String id) {
// Ad has rendered
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an rewarded ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void creativeId(String creativeId) {
// Vungle creative ID to be displayed
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.8.x & 6.9.x
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdViewed(String id) {
// Ad has rendered
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an rewarded ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.6.x & 6.7.x
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String id) {
// Ad experience started
}
@Override
public void onAdEnd(String id) {
// Ad experience ended
}
@Override
public void onAdClick(String id) {
// User clicked on ad
}
@Override
public void onAdRewarded(String id) {
// User earned reward for watching an rewarded ad
}
@Override
public void onAdLeftApplication(String id) {
// User has left app during an ad experience
}
@Override
public void onError(String id, VungleException exception) {
// Ad failed to play
}
};
// 6.5.x & below
private final PlayAdCallback vunglePlayAdCallback = new PlayAdCallback() {
@Override
public void onAdStart(String placementReferenceId) {
// Ad experience started
}
// Deprecated
@Override
public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) {
// Invoked when the ad experience is completed
// isCTAClicked flag indicates whether CTA download button has been triggered
// completed flag indicates at least 80% of video was watched for rewarded placement
}
@Override
public void onError(String placementReferenceId, VungleException exception) {
// Ad failed to play
}
};
Overridable Methods | 描述 |
---|---|
onAdStart(String id) |
当SDK有可播放的广告且即将播放广告时触发 |
onAdViewed(String id) |
当SDK将广告渲染时触发 |
onAdEnd(String id) |
当广告关闭,且将返回用用时触发 |
onAdClick(String id) |
当用户点击广告视频或广告的下载按钮时触发 |
onAdRewarded(String id) |
当用户观看完80%的奖励视频广告后用户时触发。该回调只对奖励广告位起作用。 |
onAdLeftApplication(String id) |
当点击下载按钮离开应用时触发 |
creativeId(String creativeId) |
当调用playAd 方法时,立刻触发。该回调会先于onAdStart 回调触发。开发者可以通过该回调获知Vungle即将播放的广告素材ID。 |
onAdError(String id, VungleException exception) |
当初始化失败时触发,此时请查看错误信息getLocalizedMessage 以便获知getExceptionCode 。 |
步骤3. Load 和 Play广告
为展示位置加载广告
在 LoadAdCallback
中提示广告缓存的各种状态。
public static void loadAd(@NonNull final String id, @Nullable LoadAdCallback callback)
// Load Ad Implementation if (Vungle.isInitialized()) { Vungle.loadAd("PLACEMENT_ID", new LoadAdCallback() { @Override public void onAdLoad(String placementReferenceId) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
检查展示位置的广告可用性
使用静态方法 canPlayAdmethod
检查相应广告位置上在调用 playAd()
之前是否有可播放的广告。 method
public static boolean canPlayAd(@NonNull String id)
播放广告
播放广告时,需要调用 playAd
方法,其中包含广告位置参考 ID、可选 AdConfig
(如果未使用,则为空)以及 PlayAdCallback
事件侦听器(用于在广告播放期间接收播放成功或出错的通知)。
public static void playAd(@NonNull final String id, final AdConfig settings, @Nullable final PlayAdCallback listener)
请在广告播放前,调用canPlayAd
方法来判断是否有广告可以播放。因为当频繁调用playAd
方法时,可能会造成无法正常播放广告。
if (Vungle.canPlayAd("PLACEMENT_ID")) { Vungle.playAd("PLACEMENT_ID", null, new PlayAdCallback() { @Override public void onAdStart(String placementReferenceId) { } @Override public void onAdEnd(String placementReferenceId, boolean completed, boolean isCTAClicked) { } @Override public void onError(String placementReferenceId, VungleException exception) { } }); }
步骤4. 配置全屏广告(可选)
您可以选择向 playAd
提供新的 adConfig
对象来定制每条广告。AdConfig
对象可以为空,此时广告将采用默认配置进行播放,该对象也可以不为空,则此时会覆盖 AdConfig
设置程序。以下示例介绍了如何使用 AdConfig
:
Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
如下所示使用 AdConfig
对象:
AdConfig adConfig = new AdConfig(); adConfig.setAdOrientation(AdConfig.AUTO_ROTATE); adConfig.setMuted(true); Vungle.playAd(placementReferenceID, adConfig, vunglePlayAdCallback);
下表列出了所有可用的 AdConfig
选项。
选项 |
说明 |
||||||||
|
|
||||||||
|
如果视频开始时的音频设置应与封闭应用程序的音频设置匹配,则为 true;如果视频一开始就应该是静音,则为 false |
须知: 您可以使用同一个 AdConfig
对象在不同的广告位上。
步骤 5. 定制化奖励广告 (可选)
弹窗
该弹窗信息可以在 setIncentivizedFields
方法中设置。
public static void setIncentivizedFields(@Nullable String userID, @Nullable String title, @Nullable String body, @Nullable String keepWatching, @Nullable String close)
奖励广告注意须知
目前没有一个确切的标准来奖励最终用户。您需要根据您的应用自行决定。
您在决定奖励数量时,以下为可能遇到的一些常见问题:
-
什么是对用户最有价值的呢?软硬币还是真货币呢?
应用中的硬币价值相对较低,但是用户可能更想要一些东西是他们立刻就用的,才能激励其观看广告视频。您还可以使用奖励视频来介绍一些新项目给用户来激励其稍后内购。 -
奖励对用户有多诱人?
您需要让奖励的物品确实是用户所需要的,而不是特别容易得到的。 -
奖励与内购对比如何?
您需要让奖励物品是内购的过渡,或者某些物品,用户想要但是确不会购买的。 -
用户对玩多久游戏与给看广告奖励的对比如何?
如果用户每一关都通过广告获取同样的奖励,那么用户可能不认为奖励值得她/他15s的时间。 -
是否要设置奖励上限呢?
是的。设置每日观看上限,能够帮助你控制免费金币或物品的数量。
您还可以联系我们的客户经理:monetize@vungle.com.