交叉推广

前言

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

交叉推广

对于开发者来说,每个 APP 都是有一定的生命周期的。当 APP 决定停止维护或者推出了新款 APP 时,需要将当前 APP 的用户引流到新款 APP 中,此时需要用到交叉推广来实现。

步骤 1. 添加 Delegate

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

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

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

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

2.在代码中实现以下回调函数,以在收到广告活动时处理广告逻辑。 例如, 当交叉推广广告准备就绪时,调用show函数为用户提供广告。

/// Invoked when promotion is available.
- (void)omCrossPromotionChangedAvailability:(BOOL)available{
     if(available){
       NSLog(@"CrossPromotion Ad is Available");
     }
}

/// Sent immediately when a promotion ad will appear.
- (void)omCrossPromotionWillAppear:(OMScene *)scene{
     NSLog(@"CrossPromotion Ad Will Appear");
}

/// Sent after a promotion ad has been clicked.
- (void)omCrossPromotionDidClick:(OMScene *)scene{
     NSLog(@"CrossPromotion Ad Did Click");
}

/// Sent after a promotion ad did disappear.
- (void)omCrossPromotionDidDisappear:(OMScene *)scene{
     NSLog(@"CrossPromotion Ad Did Disappear");
}

/// Sent after a promotion ad has failed to play.
- (void)omCrossPromotionDidFailToShow:(OMScene *)scene withError:(NSError *)error{
     NSLog(@"CrossPromotion Ad Dailed To Play");
}
/// Invoked when promotion ad is available.
func omCrossPromotionChangedAvailability(_ available: Bool) {
    if available {
         print("CrossPromotion Ad is Available")
    }
 }

 /// Sent immediately when a promotion ad will appear.
func omCrossPromotionWillAppear(_ scene: OMScene) {
      print(@"CrossPromotion Ad Will Appear")
 }

 /// Sent after a promotion ad has been clicked.
func omCrossPromotionDidClick(_ scene: OMScene) {
      print(@"CrossPromotion Ad Did Click")
 }

 /// Sent after a promotion ad did disappear.
func omCrossPromotionDidDisappear(_ scene: OMScene) {
      print(@"CrossPromotion Ad Did Disappear")
 }

 /// Sent after a promotion ad has failed to play.
func omCrossPromotionDidFail(toShow scene: OMScene, withError error: Error) {
      print(@"CrossPromotion Ad Failed To Play")
 }

 

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

广告可用性

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

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

检查广告是否可用的另一种方法是 直接 调用 isReady 函数。 在 第1步中 调用 添加代表” 后 , 将通过 isReady 方法 通知您交叉推广广告是否准备好展示 。

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

 

步骤 3. 显示交叉推广广告

强烈建议您在展示交叉推广广告之前, 通过调用 isReady 方法来 检查广告的可用性 ,如以下代码所示:

 if ([[OMCrossPromotion sharedInstance] isReady]) {
     [[OMCrossPromotion sharedInstance] showAdWithScreenPoint:CGPointMake(0.5, 0.5) angle:20 scene:@"YOUR_SCENE_NAME"];
}
if OMCrossPromotion.sharedInstance().isReady() {
    OMCrossPromotion.sharedInstance().show(with: "VIEW_CONTROLLER", angle: 20, scene: "YOUR_SCENE_NAME")
}

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

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

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

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

评论

0 条评论

文章评论已关闭。