Admob终于提供了奖励视频,目前F2P游戏中非常流行接入奖励视频广告,这种广告用户比较容易接受,对游戏体验的损害也最小。接下来,我们看下如何接入admob的奖励视频广告。
导入unity插件
- 双击GoogleMobileAdsPlugin.unitypackage直接导入,或者通过其他方式导入。
- 如果是Android,则需要下载好SDK里的support包和service包,并配置好SDK的路径;如果是iOS,需要下载对应的Admob的framework,并放入unity工程中的Assets/Plugin/iOS文件夹下(或者导出XCode工程后再引入framework也可以)。
编写奖励广告代码
- 初始化
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的视频奖励广告,赶紧试试吧。
- 本文固定链接: https://freemanapp.com/zh/?p=259
- 转载请注明: freeman 于 FreemanApp 发表