首页 > Unity > Unity 接入 admob 奖励视频广告
2017
04-03

Unity 接入 admob 奖励视频广告

Admob终于提供了奖励视频,目前F2P游戏中非常流行接入奖励视频广告,这种广告用户比较容易接受,对游戏体验的损害也最小。接下来,我们看下如何接入admob的奖励视频广告。

导入unity插件

  1. 双击GoogleMobileAdsPlugin.unitypackage直接导入,或者通过其他方式导入。
  2. 如果是Android,则需要下载好SDK里的support包和service包,并配置好SDK的路径;如果是iOS,需要下载对应的Admob的framework,并放入unity工程中的Assets/Plugin/iOS文件夹下(或者导出XCode工程后再引入framework也可以)。

编写奖励广告代码

  1. 初始化
private RewardBasedVideoAd rewardBasedVideo;
void Start () {
    rewardBasedVideo = RewardBasedVideoAd.Instance;
}

获取一个单例的视频奖励广告

2. 添加监听事件

void OnEnable(){
    this.rewardBasedVideo.OnAdFailedToLoad += this.HandleRewardBasedVideoFailedToLoad;
    this.rewardBasedVideo.OnAdRewarded += this.HandleRewardBasedVideoRewarded;
}
 
void OnDisable(){
    this.rewardBasedVideo.OnAdFailedToLoad -= this.HandleRewardBasedVideoFailedToLoad;
    this.rewardBasedVideo.OnAdRewarded -= this.HandleRewardBasedVideoRewarded;
}

由于使用了单例,这里在Enable时监听需要的事件,在Disable时移除监听

3. 请求广告

public void RequestRewardBasedVideo()
{
	#if UNITY_EDITOR
		string adUnitId = "unused";
	#elif UNITY_ANDROID
		string adUnitId = android_adUnitId_Interstitial;
	#elif UNITY_IPHONE
		string adUnitId = ios_adUnitId_Interstitial;
	#else
		string adUnitId = "unexpected_platform";
	#endif
 
	AdRequest request = new AdRequest.Builder().Build();
	rewardBasedVideo.LoadAd(request, adUnitId);
}
 
public bool IsRewardAdReady(){
	return rewardBasedVideo.IsLoaded ();
}
 
public void ShowRewardAd()
{
	if (rewardBasedVideo.IsLoaded()) {
		rewardBasedVideo.Show();
	}
}

在游戏适当的位置先请求视频奖励广告,请求完后会缓存起来,在用户选择展示奖励广告后,则马上呈现。

4. 处理事件回调

public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
	string type = args.Type;
	double amount = args.Amount;
	Debug.Log ("User rewarded with: " + amount.ToString() + " " + type);
}
 
public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
	MonoBehaviour.print(
		"HandleRewardBasedVideoFailedToLoad event received with message: " + args.Message);
}

HandleRewardBasedVideoRewarded方法是用户看完奖励视频,应该获得奖励的回调,HandleRewardBasedVideoFailedToLoad则是请求奖励视频广告失败的回调。

简单的几步,就可以接入admob的视频奖励广告,赶紧试试吧。

最后编辑:
作者:freeman
这个作者貌似有点懒,什么都没有留下。

留下一个回复

你的email不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据