激励视频

前言

在将广告单元集成到您的应用之前,您必须:

新版本

对于奖励视频,插页式广告和互动广告, SDK将自动缓存广告并定期维护广告库存,例如初始化后的预加载,广告投放后的加载以及定时加载等。 4.0.0及更高版本中您无需再使用版本号调用load方法, 新的API更易于使用。

激励视频

具有较强交互能力的奖励视频广告已成为移动广告行业的主流形式。手机游戏开发商越来越依赖内置广告而不是IAP来获利。

AdTiming Rewarded Video广告单元提供引人入胜的广告体验,以有价值的虚拟内容奖励您的用户,以换取完整的视图。这个由用户启动的广告单元非常适合游戏应用,并可以改善用户的应用体验。

步骤 1. 添加Delegate

AdTiming SDK会触发多个事件来通知您广告活动。要向您的用户显示广告,您需要先设置其代表,然后才能加载广告以接收广告状态。以下代码段演示了如何为AdTimingRewardedVideo 对象配置Delegate 并实现AdTimingRewardedVideoDelegate 来接收广告事件。

1.添加以下代码,将您的Delegate添加到AdTimingRewardedVideo 对象,并注册到接收到的事件。SDK会将下面第2节中列出的所有可能的事件通知委托。

注意:这里我们使用"self",这意味着回调函数是在当前对象中实现的。

[[AdTimingRewardedVideo sharedInstance] addDelegate:self];
AdTimingRewardedVideo.sharedInstance().add(self)

2.在代码中实现以下回调函数,以在收到广告活动时处理广告逻辑。例如,当奖励视频广告准备就绪时,调用show函数将广告投放给您的用户。

/// Invoked when rewarded video is available.
 - (void)adtimingRewardedVideoChangedAvailability:(BOOL)available{
    if(available){
         NSLog(@"VideoAd is Available");
    }
 }

 /// Sent immediately when a rewarded video is opened.
 - (void)adtimingRewardedVideoDidOpen:(AdTimingScene *)scene{
      NSLog(@"VideoAd is Open");
 }

 /// Sent immediately when a rewarded video starts to play.
 - (void)adtimingRewardedVideoPlayStart:(AdTimingScene *)scene{
      NSLog(@"VideoAd Start Play");
}

 /// Sent after a rewarded video has been clicked.
 - (void)adtimingRewardedVideoDidClick:(AdTimingScene *)scene{
      NSLog(@"VideoAd Did Click");
 }

 /// Send after a rewarded video has been completed.
 - (void)adtimingRewardedVideoPlayEnd:(AdTimingScene *)scene{
      NSLog(@"VideoAd Play End");
 }

 /// Sent after a rewarded video has been closed.
 - (void)adtimingRewardedVideoDidClose:(AdTimingScene *)scene{
      NSLog(@"VideoAd Did Close");
 }

 /// Sent after a user has been granted a reward.
 - (void)adtimingRewardedVideoDidReceiveReward:(AdTimingScene *)scene{
      NSLog(@"Receive a reward");
 }

 /// Sent after a rewarded video has failed to play.
 - (void)adtimingRewardedVideoDidFailToShow:(AdTimingScene *)scene withError:(NSError *)error{
      NSLog(@"VideoAd failed to play");
 }
/// Invoked when rewarded video is available.
func adtimingRewardedVideoChangedAvailability(_ available: Bool) {
    if available {
         print("VideoAd is Available")
    }
 }

 /// Sent immediately when a rewarded video is opened.
func adtimingRewardedVideoDidOpen(_ scene: AdTimingScene) {
      print(@"VideoAd is Open")
 }

 /// Sent immediately when a rewarded video starts to play.
func adtimingRewardedVideoPlayStart(_ scene: AdTimingScene) {
      print(@"VideoAd Start Play")
}

 /// Sent after a rewarded video has been clicked.
func adtimingRewardedVideoDidClick(_ scene: AdTimingScene) {
      print(@"VideoAd Did Click")
 }

 /// Send after a rewarded video has been completed.
func adtimingRewardedVideoPlayEnd(_ scene: AdTimingScene) {
      print(@"VideoAd Play End")
 }

 /// Sent after a rewarded video has been closed.
func adtimingRewardedVideoDidClose(_ scene: AdTimingScene) {
      print(@"VideoAd Did Close")
 }

 /// Sent after a user has been granted a reward.
func adtimingRewardedVideoDidReceiveReward(_ scene: AdTimingScene) {
      print(@"Receive a reward")
 }

 /// Sent after a rewarded video has failed to play.
func adtimingRewardedVideoDidFail(toShow scene: AdTimingScene, withError error: Error) {
      print(@"VideoAd failed to play")
 }

 

步骤 2. 检查广告可用性 (可选)

广告可用性

如果仅集成并成功启动了SDK,则AdTiming SDK会自动加载广告,供您在应用程序的生命周期中缓存“重播的视频广告”。 通过正确实现 AdTimingRewardedVideoDelegate ,您将通过 AdTimingRewardedVideoChangedAvailability 回调 收到有关广告可用性的通知 。 

- (void)adtimingRewardedVideoChangedAvailability:(BOOL)available{
      if(available){
         NSLog(@"VideoAd is Available");
      }
}
func adtimingRewardedVideoChangedAvailability(_ available: Bool) {
    if available {
       print("VideoAd is Available")
    }
 }

检查广告是否可用的另一种方法是 直接 调用 isReady 函数。 在步骤1中调用" 添加delegate" 后,将通过 isReady 方法 通知您视频是否准备好显示   。

/// Check AdTimingRewardedVideo video is Ready.
[[AdTimingRewardedVideo sharedInstance] isReady];
AdTimingRewardedVideo.sharedInstance().isReady()

 

步骤 3. 展示激励视频广告

强烈建议您在投放激励视频广告之前,通过调用 isReady 方法检查广告的可用性,如以下代码所示:

if ([[AdTimingRewardedVideo sharedInstance] isReady]) {
     [[AdTimingRewardedVideo sharedInstance] showWithViewController:@"VIEW_CONTROLLER" scene:@"YOUR_SCENE_NAME"];
}
if AdTimingRewardedVideo.sharedInstance().isReady() {
    AdTimingRewardedVideo.sharedInstance().show(with: "VIEW_CONTROLLER", scene: "YOUR_SCENE_NAME")
}

如果sceneName参数为空或没有匹配上"开发者前台"配置的Scene Name,那么SDK会自动匹配到默认的Default_Scene,在事件回调中返回的Scene对象也是Default_Scene。

Scene是4.0版本新引入的一个新概念,用于标记应用中广告位置或场景,支持频次控制、用户激励的场景区分和数据统计。可以在开发者前台进行Scenes配置。

注意:场景是可选的,如果你不想使用它,只需忽略sceneName参数或使用值" "。

 

步骤 4. 频次与计数 (可选)

您可以通过在限定的时间内限制投放的广告数量来使用场景上限和步调来改善应用的用户体验。 您可以在放置设置中为选定场景配置上限和步调设置。

重要! 为确保您不会在展示位置上限时显示“奖励视频”按钮来提示用户观看广告,您必须调用以下方法来验证特定的展示位置是否已达到其广告限制。

/// Indicates whether the scene has reached the display frequency.
[[AdTimingRewardedVideo sharedInstance] isCappedForScene:@"YOUR_SCENE_NAME"];
AdTimingRewardedVideo.sharedInstance().isCapped(forScene:"YOUR_SCENE_NAME")

 

 

步骤 5. 配置激励视频广告回调

AdTiming SDK支持奖励视频广告服务器端回调。 为此,您可以为我们定义一个唯一的专用终结点,然后指定您希望AdTiming服务器传递的信息。 这种工作方式是用户设备上的应用程序将与AdTiming服务器联系以验证奖励。 用户通过AdTiming服务器验证后,我们会将通知发送到您的信息中心中定义的端点。 由于用户的设备将永远不会与您的服务器联系,因此该方法可以防止篡改发送到端点的奖励事件。

rv_ios_callbalc_en.png

端点格式

http://yourendpoint.com?variable_name_you_define={content}

{content} -这是您希望Adtiming服务器传递的信息。

这篇文章有帮助吗?
3 人中有 2 人觉得有帮助

评论

0 条评论

登录写评论。