概览
插屏广告
插屏广告属于全屏广告。一般在关卡过渡,应用开始等节点出现。一般来说插屏广告,用户可选择关闭,并在关闭后返回应用。Vungle插屏的广告素材与奖励广告是相同的。插屏与奖励广告取决于传入参数placement reference id在dashboard上的类型。
奖励广告
Vungle的奖励广告是全屏视频广告。在播放完毕广告后,会自动跳转到落地页。在落地页用户可点击跳转到商店下载广告应用或游戏。
请注意奖励广告某些时候也被称为 激励广告。
有两种方式给奖励:应用内奖励和Server to Server回调。应用内奖励的话,当用户观看完毕或点击了一个广告的话,用户就能得到奖励了。该种方式简单集成。
Vungle 现在通过动态模板广告提供各种广告格式。与传统广告格式不同,此格式包含视频播放后跟一个结束卡,我们提供的模板在视频播放时会显示行动号召 (CTA) 按钮。看完视频广告的用户以及点击此按钮的用户应获得奖励。
步骤1. 完成基本集成
在Android和Amazon平台上集成插屏,请先查看文档basic integration。
步骤2. Load 和 Play广告
为展示位置加载广告
To load an ad, call the loadPlacementWithID
method:
- (BOOL)loadPlacementWithID:(NSString *)placementID error:(NSError **)error;
示例代码:
NSError* error; VungleSDK* sdk = [VungleSDK sharedSDK]; NSString* placementID = @"Your_placement_ID_Here";
VungleSDK* sdk = [VungleSDK sharedSDK];
if (![sdk loadPlacementWithID:placementID error:&error]) {
if (error) {
NSLog(@"Error occurred when loading placement: %@", error);
}
}
var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk?.loadPlacement(withID: <Your_PlacementID>)
}
catch let error as NSError {
print("Unable to load placement with reference ID :\(<Your_PlacementID>), Error: \(error)")
return
}
检查展示位置的广告可用性
当 SDK 完成广告位置的广告缓存后,会调用以下回调方法:
- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(nullable NSString *)placementID error:(nullable NSError *)error;
示例代码:
- (void)vungleAdPlayabilityUpdate:(BOOL)isAdPlayable placementID:(NSString *)placementID error:(nullable NSError *)error { if([placementID isEqualToString:@"Your_placement_ID_Here"]) { self.playButtonPlacement1.enabled = isAdPlayable; } }
func vungleAdPlayabilityUpdate(_ isAdPlayable: Bool, placementID: String?) {
if (placementID == <Your_PlacementID>) {
self.playButtonPlacement1.enabled = isAdPlayable;
}
}
注意:对于缓存优化的展示位置,仅当广告可用时才调用此回调方法。 SDK将继续为这些展示位置请求广告。对于所有其他展示位置,在“加载失败”的情况下调用此回调方法(在这种情况下, isAdPlayable
返回“ NO”)。
您还可以通过以下属性来检查广告位置的广告可用性:
- (BOOL)isAdCachedForPlacementID:(nonnull NSString *)placementID;
播放广告
在确定某广告位置的广告已准备就绪时,您可以使用以下方法来播放广告:
- (BOOL)playAd:(UIViewController *)controller options:(nullable NSDictionary *)options placementID:(nullable NSString *)placementID error:( NSError *__autoreleasing _Nullable *_Nullable)error;
示例代码:
VungleSDK* sdk = [VungleSDK sharedSDK];
NSError *error;
if (![sdk playAd:self options:nil placementID:@"Your_placement_ID_Here" error:&error]) {
if (error) {
NSLog(@"Error encountered playing ad: %@", error);
}
}
var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk.playAd(self, options: nil, placementID: kVungleTestPlacementID01)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}
步骤3. 配置全屏广告(可选)
使用这些选项可以自定义广告回放体验。
注意: 奖励广告在某些情况下称为激励性广告;这两个字词始终指的是同一种广告。在SDK代码和Reporting API中,我们使用术语“激励”。
选项键 | 默认值/类型 | 说明 |
---|---|---|
VunglePlayAdOptionKeyOrientations |
自动旋转UIInterfaceOrientationMaskAll 数值代表横竖屏方向 |
设置广告的方向。即使您的应用是纵向模式,我们也建议允许广告自动旋转。这样,用户可以选择观看全尺寸视频,从而获得更好的用户体验。您可以通过在视图控制器级别(而不是项目级别)设置方向来实现。 |
VunglePlayAdOptionKeyUser |
nil NSString |
设置您的用户ID。该值将传递到Vungle服务器,然后如果放置位置设置为“ Rewarded”,则通过服务器到服务器回调系统发送到您的服务器。 |
VunglePlayAdOptionKeyIncentivizedAlertTitleText |
nil NSString |
字符串类型,弹窗提示中的标题。 |
VunglePlayAdOptionKeyIncentivizedAlertBodyText |
“Are you sure you want to skip this ad? If you do, you might not get your reward” NSString |
String used for the body text of the alert dialog that displays when a user prematurely closes a rewarded ad experience. |
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText |
“Close” NSString |
String title for the close button text of the alert dialog that displays when a user prematurely closes a rewarded ad experience. |
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText |
“Continue” NSString |
String title for the close button text of the alert dialog that displays when a user prematurely closes a rewarded ad experience. |
VunglePlayAdOptionKeyOrdinal |
Int | 如果您从Vungle收到顺序数据报告,请使用此字段传递中介顺序。这是一个整数,指示此广告在游戏会话中的显示顺序(例如,如果已经在该会话中显示了两个广告,然后将来自Vungle的该广告显示为第三,则传递“ 3”)。 在此处阅读有关序数数据的更多信息。 |
示例代码:
NSDictionary *options = @{VunglePlayAdOptionKeyOrientations: @(UIInterfaceOrientationMaskLandscape), VunglePlayAdOptionKeyUser: @"userGameID", VunglePlayAdOptionKeyIncentivizedAlertBodyText : @"If the video isn't completed you won't get your reward! Are you sure you want to close early?", VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText : @"Close", VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText : @"Keep Watching", VunglePlayAdOptionKeyIncentivizedAlertTitleText : @"Careful!"}; // Pass in dict of options, play ad NSError *error; [self.sdk playAd:self options:options placementID: error:&error]; if (error) { NSLog(@"Error encountered playing ad: %@", error); }
let options: NSDictionary = NSDictionary(dictionary: [VunglePlayAdOptionKeyUser: "test_user_id",
VunglePlayAdOptionKeyIncentivizedAlertBodyText: "If the video isn't completed you won't get your reward! Are you sure you want to close early?",
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText: "Close",
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText: "Keep Watching",
VunglePlayAdOptionKeyIncentivizedAlertTitleText: "Careful!"])
do {
try self.sdk.playAd(self, options: (options as! [AnyHashable : Any]), placementID: PlacementID)
}
catch let error as NSError {
print("Error encountered playing ad: + \(error)");
}
静音选项
Vungle SDK提供静音设置。您可以在调用playAd()
方法时,传入静音设置。
示例代码:
VungleSDK* sdk = [VungleSDK sharedSDK]; self.sdk.muted = true;
var sdk:VungleSDK = VungleSDK.shared()
sdk.muted = true
注意:此选项仅适用于Vungle SDK 6.3.1及更低版本的标准广告类型。动态模板广告的静音选项可在仪表板上进行配置。从Vungle SDK v6.3.2开始,Vungle将尊重所有广告的SDK端静音设置。
步骤4. 配置奖励广告(Optional)
奖励广告注意须知
目前没有一个确切的标准来奖励最终用户。您需要根据您的应用自行决定。
您在决定奖励数量时,以下为可能遇到的一些常见问题:
-
什么是对用户最有价值的呢?软硬币还是真货币呢?
应用中的硬币价值相对较低,但是用户可能更想要一些东西是他们立刻就用的,才能激励其观看广告视频。您还可以使用奖励视频来介绍一些新项目给用户来激励其稍后内购。 -
奖励对用户有多诱人?
您需要让奖励的物品确实是用户所需要的,而不是特别容易得到的。 -
奖励与内购对比如何?
您需要让奖励物品是内购的过渡,或者某些物品,用户想要但是确不会购买的。 -
用户对玩多久游戏与给看广告奖励的对比如何?
如果用户每一关都通过广告获取同样的奖励,那么用户可能不认为奖励值得她/他15s的时间。 -
是否要设置奖励上限呢?
是的。设置每日观看上限,能够帮助你控制免费金币或物品的数量。
您还可以联系我们的客户经理:monetize@vungle.com.