高级设置 - Vungle iOS SDK

目录

  1. Vungle SDK 示例
  2. 个性化的广告体验
  3. 额外 VungleSDK 协议

开始之前…

本文描述了 Vungle iOS SDK 的高级设置。如果您不熟悉我们的 iOS SDK,您将需要访问我们的 iOS 入门指南

VungleSDK 示例

示例属性

VungleSDK 单个示例有几个属性,可用于自定义您的最终客户的广告体验或接收重要的事件数据。 它们列举如下:

静音 (BOOL): 控制呈现的广告是否将以静音状态开始
代表 (id<VungleSDKDelegate>): 符合 VungleSDKDelegate 协议的可指定属性,允许应用程序接收某些 SDK 事件的异步回调
assetLoader (id<VungleAssetLoader>): 符合 VungleAssetLoader 协议的可指定属性,允许应用程序覆盖主要 VungleSDK playAd ViewController 中使用的所需资产

 

示例方法 & 辅助常数

(BOOL)isAdPlayable; 如果有可以播放的缓存广告,则返回 YES,并且当前用户不受每日观看次数或费率的限制。这不会检查是否有可用的流媒体广告,即使发布商已选择加入流媒体。
(NSDictionary*)debugInfo; 返回一个 NSDictionary,带有有关 VungleSDK 单例的各种调试信息
(void)setLoggingEnabled:(BOOL)enable; VungleSDK 单例启用或禁用默认日志记录功能。 记录的事件和信息将打印到控制台。 要处理单个日志记录事件,请参阅下方的 attachLogger 方法。
(void)log:(NSString*)message, ...NS_FORMAT_FUNCTION(1,2); 将指定的消息记录到控制台及全部附加的 VungleSDKLogger 示例。
(void)attachLogger:(id<VungleSDKLogger>)logger 允许应用程序将符合 VungleSDKLogger 协议的类附加到 VungleSDK 单个示例。附加的记录器将接收由 SDK 处理的每个日志事件。 为了避免内存泄漏,一旦不再需要记录器时,务必正确地将其拆除。 VungleSDK 单个示例将保留附加的记录器,直到将其正确地移除为止。
(void)detachLogger:(id<VungleSDKLogger>)logger; 分离记录器对象。
NSString* VungleSDKVersion 一个记录 Vungle iOS SDK 当前版本的字符串常量。 包括主要版本和次要版本。

个性化的广告体验

VungleSDK 单例上的 playAd 方法可以接受 NSDictionary 参数,允许应用程序自定义个别广告体验。 NSDictionary 参数中包含的任何有效密匙/值对将覆盖注释设置的默认值。所有密匙都可以通过选择添加到字典中。NSDictionary 参数中包含的设置将只影响一个 playAd 调用。您可以在示例应用程序的 111 或 131 行上找到一个选项字典的例子。

密匙 默认值/类型 描述
VunglePlayAdOptionKeyIncentivized NO
NSNumber 表示一个 bool 值。
将广告播放标记为奖励推广将导致与默认 playAd 调用略有不同的行为,二者均来自本地 SDK 还是来自 Vungle 广告服务器。此功能可用于帮助区分奖励展示位置广告和正常发布广告的行为和功能。 要详细了解奖励推广广告和非奖励推广广告之间的差异,请在此访问我们的文档。 
VunglePlayAdOptionKeyOrientations UIInterfaceOrientationMaskAll
表示具有方向的位掩码的 NSNumber(默认为自动旋转)。
设置广告的方向。我们建议您允许广告自动旋转,即使您的应用程序处于纵向。这样,用户可以选择观看全尺寸视频,从而获得更好的用户体验。您可以通过在视图控制器级别(而不是项目级别)设置方向来实现此目的。
VunglePlayAdOptionKeyUser nil
NSString 带有在广告进行奖励推广时将传递的用户标识符。
在奖励推广服务器到服务器调用中作为“用户”传递的值。
VunglePlayAdOptionKeyIncentivizedAlertTitleText nil
NSString
在用户过早关闭奖励推广的广告体验时,用作呈现的警告对话框标题的字符串。
VunglePlayAdOptionKeyIncentivizedAlertBodyText 确定要跳过该广告吗?如果这么做,您可以不能获得奖励
NSString
在用户过早关闭奖励推广的广告体验时,用作呈现的警告对话框正文文本的字符串。
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText Close
NSString
在用户过早关闭奖励推广的广告体验时,用作呈现的警告对话框关闭按钮文本的字符串标题。
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText Continue
NSString
在用户过早关闭奖励推广的广告体验时,用作呈现的警告对话框关闭按钮文本的字符串标题。
VunglePlayAdOptionKeyExtraInfoDictionary nil
NSDictionary 包含额外的密匙(定义如下)。
基本元数据字典,可用于跟踪指标(如年龄组、性别等)。
VunglePlayAdOptionKeyExtra1..8 nil
NSString 表示您正在跟踪的每个用户指标。
即将推出 - 此功能尚未完成,完成后,您将可以使用此处的 8 个密匙来跟踪和报告有关广告展示位置、用户数据等的其他信息。

协议

VungleSDKDelegate 协议


@protocol VungleSDKDelegate
- (void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable;
- (void)vungleSDKwillShowAd;
- (void)vungleSDKwillCloseAdWithViewInfo:(NSDictionary*)viewInfo willPresentProductSheet:(BOOL)willPresentProductSheet;
- (void)vungleSDKwillCloseProductSheet:(id)productSheet;
@end

VungleSDKDelegate 方法

您可以实施 VungleSDK Delegate,它可以提醒您有关广告体验的一些有用的事件。

方法 描述
(void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable 当 VungleSDK 更改广告可用性状态时调用。 isAdPlayable boolean 表示 Vungle SDK 的新可播放性
(void)vungleSDKwillShowAd 当 VungleSDK 即将播放视频广告时调用。 此方法的覆盖项是暂停游戏、声音效果、动画等的极好位置。
(void)vungleSDKwillCloseAdWithViewInfo:
(NSDictionary *)viewInfo  willPresentProductSheet:(BOOL)willPresentProductSheet

用户可以通过三种方式离开广告体验:

  • 完成视频广告(展示的广告会自动关闭)
  • 按正在进行或完成的广告中的关闭按钮
  • 点击下载按钮,在这种情况下,我们打开 iOS 提供的应用程序内应用商店(使用 StoreKit 框架)

在所有这些情况下,这个回调被触发,因为主 Vungle ViewController 被关闭。viewInfo NSDictionary 包含以下信息:

  • completedView: NSNumber 为 BOOL, YES,如果观看了至少 80% 的视频
  • playTime: NSNumber 观看的视频的持续时间
  • didDownload: NSNumber 为 BOOL, YES,如果用户点击下载按钮
  • videoLength: (在 Vungle iOS SDK 4.0.9 中弃用)

注意,willPresentProductSheet 参数总是 NO。不要依赖此参数来确定用户是否点击下载按钮。

(void)vungleSDKwillCloseProductSheet:(id)productSheet (已弃用) (在 Vungle iOS SDK 4.0.9 中已弃用)。 如果用户选择下载所通告的应用程序,并且正在关闭应用程序内的应用商店,则此最终回调将触发。此事件可用于在返回应用程序时恢复动画、音效等。

 

注册 VungleSDKDelegate

为了从 VungleSDK 单例接收事件,符合 VungleSDKDelegate 协议的类必须以下列方式注册:

[[VungleSDK sharedSDK] setDelegate:yourDelegateInstance];

为了避免内存泄漏,请记住不再需要注册的代理时要将其清除。 VungleSDK 单例将保留注册的代理,直到将其明确地移除为止。

要清除代理,请使用以下命令:

[[VungleSDK sharedSDK] setDelegate:nil];

 

VungleSDKLogger 协议


@protocol VungleSDKLogger
- (void)vungleSDKLog:(NSString*)message;
@end

VungleSDK 单例会将日志事件发送到任何符合 VungleSDKLogger 协议的附加类。 日志事件将包含 NSString 值,该值也将打印到控制台(如已启用日志记录)。 要附加记录器,请使用以下命令:

 [sdk attachLogger:yourLoggerInstance];

如上所述,务必从 VungleSDK 清除附加的记录器。可以使用以下方法清除记录器:

[sdk detachLogger:yourLoggerInstance];

 

assetLoader 协议


@protocol VungleAssetLoader
/**
 * 应返回包含指定路径或 nil 的图像的(原始)数据的有效 NSData。*/
- (NSData*)vungleLoadAsset:(NSString*)path;

/**
 * 应返回指定路径的有效UIImage,或nil。
 */
- (UIImage*)vungleLoadImage:(NSString*)path;
@end
还有其它问题?提交请求

评论