互动广告

开始之前

在开始集成互动广告之前,您需要先完成以下步骤:
  • 在AdTiming Publisher前台页面,创建开发者账号,添加应用,然后创建一个‘Interactive Ad’广告位,操作手册在 这里
  • Android SDK下载与集成 指导下,将AdTiming Android SDK添加到您的开发项目并完成了SDK初始化操作。
  • 如果要聚合第三方平台,您需要在完成本节的广告集成之后,参考 添加聚合网络 进行操作。
 

新版提示:全新6.0版本SDK的智能库存引擎自动加载广告,最简化集成开发工作!

在新版SDK中,开发者不需要调用loadAd方法进行激励视频、互动和插屏广告的加载,智能库存引擎为您自动加载和缓存广告,通过初始化预加载、广告消耗补库存以及例行库存检查等机制,来确保库存中始终有广告可用。因此,新的SDK API接口会更加易于使用,在广告场景中可直接调用接口进行库存检查和广告展示;开发者可以更加关注于应用逻辑本身,而无需对广告的加载、缓存花费额外的精力。

互动广告

互动广告允许用户打开H5游戏或其他互动内容,如大转盘抽奖,其特点是互动性强。

Step 1. 设置互动广告回调

SDK会触发一系列事件来通知应用程序插屏广告的活动,如广告库存状态、广告播放完成等事件,开发者需要通过事件来获知广告是否准备好。所以,设置和实现插屏广告回调Listener的接口方法,是使用插屏广告的必要操作。下面的代码片段演示了如何实现InteractiveAdListener接口来接收和处理视频广告事件。

互动广告触发的所有事件都可以在下面代码中找到。 

import com.adtiming.mediationsdk.interactive.AdTimingInteractiveAd;
import com.adtiming.mediationsdk.interactive.InteractiveAdListener;
import com.adtiming.mediationsdk.utils.error.AdTimingError;
import com.adtiming.mediationsdk.utils.model.Scene;
...
AdTimingInteractiveAd.setAdListener(new InteractiveAdListener() {

	/**
	 * Invoked when the interactive ad availability status is changed.
	 *
	 * @param - available is a boolean.
	 *      True: means the interactive ad is available and you can
	 *          show the ad by calling AdTimingInteractiveAd.showAd().
	 *      False: means no ad are available
	 */
	@Override
	public void onInteractiveAdAvailabilityChanged(boolean available) {
		// Change the interactive ad state in app according to param available.
	}

	/**
	 * Invoked when the interactive ad view has opened.
	 * Your activity will lose focus.
	 */
	@Override
	public void onInteractiveAdShowed(Scene scene) {
		// Do not perform heavy tasks till the ad is going to be closed.
	}

	/**
	 * Invoked when the interactive ad is to be closed.
	 * Your activity will regain focus.
	 */
	@Override
	public void onInteractiveAdClosed(Scene scene) {
	}

	/**
	 * Invoked when the call to load or show a Interactive ad has failed
	 * @param - error contains the reason for the failure:
	 */
	@Override
	public void onInteractiveAdShowFailed(Scene scene, AdTimingError error) {
	   // Interactive ad show failed
	}
});

 注意:

  • 互动广告触发的所有事件都可以在下面代码中找到。具体可以参考 Error Code 获取更多错误信息和错误诊断 。

  

Step 2. 展示互动广告

检查广告可用性

AdTiming SDK智能库存引擎负责广告库存的维护,您只需完成SDK集成和初始化,SDK会自动加载广告。通过实现InteractiveAdListener接口,应用程序将会收到广告可用性变化的事件通知,onInteractiveAd AvailabilityChanged接口的唯一参数available指示当前广告库存状态,true表示当前库存中有一个或多个可用广告,false则意味着库存中没有任何可用的广告。

public void onInteractiveAdAvailabilityChanged(boolean available)

当然,您也可以通过直接调用isReady()  方法来检查广告库存状态,如下所示。

public boolean isReady()

 展示广告

一旦收到InteractiveAvailabilityChanged 事件的true回调,您就可以调用showAd() 方法进行广告的展示。

public void showAd(String sceneName)

但是我们并不建议这么做,Availability事件只有在广告可用性发生变化的时候才会产生,这并不一定符合应用设计的广告场景,而且有可能造成频繁的甚至连续的广告展示,这会给用户产生困扰,影响应用的使用体验。您应该根据应用中的广告场景设计来选择广告展示时机。

//if you would like to show ad right after it's was loaded 
public void onInteractiveAdAvailabilityChanged(boolean available) {    
	if(available) {
		AdTimingInteractiveAd.showAd(sceneName)
	} 
}

 警告:

  • onInteractiveAdAvailabilityChanged回调中展示广告可能会导致不可预见的行为。一般情况您不应这么做,除非在某些特定的场景并且对showAd方法的调用进行了必要的限制。

在应用设计的广告场景中进行广告展示时,我们强烈建议您在进行广告展示之前,先通过调用isReady() 方法检查广告是否可用,如下所示: 

if (AdTimingInteractiveAd.isReady()) {
AdTimingInteractiveAd.showAd(sceneName);
}

 注意:

  • 当您成功的完成步骤2,意味着广告已经展示成功。如果您想展示另外的广告,只需重复步骤2进行展示即可,不需要手动调用loadAd方法进行广告加载。
  • 如果您聚合了Admob广告,您需要确保对isReady 和 showAd 方法的调用必须在主线程中进行。

频次和步长

您可以使用频次和步长率控制来提升用户体验,它们可以控制指定时间范围内广告展示的次数。频次和步长的设置在前台的广告位设置中进行,我们提供基于广告场景(scene)的控制。

重要提示!为确保广告位被频次控制的情况下不会给用户展现激励广告的按钮,您务必在之前调用以下方法确认当前广告位场景是否达到了频次控制的限制。

AdTimingInteractiveAd.isSceneCapped(sceneName);

 

完成!
现在您已经可以在应用中展示互动广告了。

接下来:

您可以根据我们的集成文档来聚合第三方平台的插屏广告,或者设置其他广告类型集成:

 

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

评论

0 条评论

登录写评论。