谷歌AdMob广告接入2——最白话,手把手教你做系列。
2017-12-15 19:04
393 查看
仍然直奔主题,接入谷歌AdMob广告。申请广告ID不做赘述。这篇讲AdMob广告第二种接入方法。
首先,需求2个要素。
一,接入SDK
这次用的是谷歌原本的广告SDK下载地址
注意点击releases跳转的位置可以选择自己需要的SDK版本(PS:因为我其实一开始看到这种文档也是懵逼的,后来看的多了才知道在哪找自己需要的文件。)
下载完插件,把插件里包含的GoogleMobileAds.unitypackage的文件导入你的项目。
导入项目后你的project里面会出现以下文件。
第一步完成
二:代码部分
插屏广告平时不怎么用。但模式是一样的。
以上代码新手可直接覆用,只需要将对应的广告ID修改成自己的即可。
首先,需求2个要素。
一,接入SDK
这次用的是谷歌原本的广告SDK下载地址
注意点击releases跳转的位置可以选择自己需要的SDK版本(PS:因为我其实一开始看到这种文档也是懵逼的,后来看的多了才知道在哪找自己需要的文件。)
下载完插件,把插件里包含的GoogleMobileAds.unitypackage的文件导入你的项目。
导入项目后你的project里面会出现以下文件。
第一步完成
二:代码部分
using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; using GoogleMobileAds; using System; public class AdmobAds : MonoBehaviour { //单例模式,方便你在其他脚本直接引用 public static AdmobAds instance; //激励视频广告 public RewardBasedVideoAd rewardBasedVideo; //插屏广告 public InterstitialAd interstitial; private void Awake() { if (instance == null) instance = 4000 this; else if (instance != this) Destroy(gameObject); } public void Start() { // Get singleton reward based video ad reference. this.rewardBasedVideo = RewardBasedVideoAd.Instance; //以下为添加视频广告需要的事件 // Called when an ad request has successfully loaded. rewardBasedVideo.OnAdLoaded += HandleRewardBasedVideoLoaded; // Called when an ad request failed to load. rewardBasedVideo.OnAdFailedToLoad += HandleRewardBasedVideoFailedToLoad; // Called when an ad is shown. rewardBasedVideo.OnAdOpening += HandleRewardBasedVideoOpened; // Called when the ad starts to play. rewardBasedVideo.OnAdStarted += HandleRewardBasedVideoStarted; // Called when the user should be rewarded for watching a video. rewardBasedVideo.OnAdRewarded += HandleRewardBasedVideoRewarded; // Called when the ad is closed. rewardBasedVideo.OnAdClosed += HandleRewardBasedVideoClosed; // Called when the ad click caused the user to leave the application. rewardBasedVideo.OnAdLeavingApplication += HandleRewardBasedVideoLeftApplication; this.RequestRewardedVideo(); RequestInterstitial(); } private void RequestRewardedVideo() { //视频广告的请求方法,adUnitId填写对应平台的广告ID,下面插屏广告同理 #if UNITY_ANDROID string adUnitId = "ca-app-pub-7816725853485153/5965764209"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-6491984961722312/6431399451"; #else string adUnitId = "unexpected_platform"; #endif // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the rewarded video ad with the request. this.rewardBasedVideo.LoadAd(request, adUnitId); } //以下为 我们Start中添加的事件对应的执行方法 public void HandleRewardBasedVideoLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoLoaded event received"); } public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print( "HandleRewardBasedVideoFailedToLoad event received with message: " + args.Message); } public void HandleRewardBasedVideoOpened(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoOpened event received"); } public void HandleRewardBasedVideoStarted(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoStarted event received"); } public void HandleRewardBasedVideoClosed(object sender, EventArgs args) { RequestRewardedVideo(); MonoBehaviour.print("HandleRewardBasedVideoClosed event received"); } public void HandleRewardBasedVideoRewarded(object sender, Reward args) { //视频广告奖励逻辑位置。此处可添加视频奖励的对应逻辑。 } public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleRewardBasedVideoLeftApplication event received"); } //请求插屏广告 private void RequestInterstitial() { #if UNITY_ANDROID string adUnitId = "ca-app-pub-7816725853485153/7041018637"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-7816725853485153/7041018637"; #else string adUnitId = "unexpected_platform"; #endif // Initialize an InterstitialAd. interstitial = new InterstitialAd(adUnitId); // Called when an ad request has successfully loaded. interstitial.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when the ad is closed. interstitial.OnAdClosed += HandleOnAdClosed; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the interstitial with the request. interstitial.LoadAd(request); } //插屏广告对应事件 public void HandleOnAdLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLoaded event received"); } public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); } //显示视频广告的方法,在需要显示的地方调用即可 public void ShowReciveAds() { if (rewardBasedVideo.IsLoaded()) { rewardBasedVideo.Show(); } else { RequestRewardedVideo(); } } //显示插屏广告的方法 public void ShowInterstitial() { if (interstitial.IsLoaded()) { interstitial.Show(); } else { RequestInterstitial(); } } }
插屏广告平时不怎么用。但模式是一样的。
using System.Collections; using System.Collections.Generic; using UnityEngine; using GoogleMobileAds.Api; using GoogleMobileAds; using System; public class AdmobBannerAds : MonoBehaviour { private BannerView bannerView; public void Start() { this.RequestBanner(); } private void RequestBanner() { //填写对应平台ID #if UNITY_ANDROID string adUnitId = "ca-app-pub-3940256099942544/6300978111"; #elif UNITY_IPHONE string adUnitId = "ca-app-pub-3940256099942544/2934735716"; #else string adUnitId = "unexpected_platform"; #endif bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Top); // Called when an ad request has successfully loaded. bannerView.OnAdLoaded += HandleOnAdLoaded; // Called when an ad request failed to load. bannerView.OnAdFailedToLoad += HandleOnAdFailedToLoad; // Called when an ad is clicked. bannerView.OnAdOpening += HandleOnAdOpened; // Called when the user returned from the app after an ad click. bannerView.OnAdClosed += HandleOnAdClosed; // Called when the ad click caused the user to leave the application. bannerView.OnAdLeavingApplication += HandleOnAdLeavingApplication; // Create an empty ad request. AdRequest request = new AdRequest.Builder().Build(); // Load the banner with the request. bannerView.LoadAd(request); } public void HandleOnAdLoaded(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLoaded event received"); } public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args) { MonoBehaviour.print("HandleFailedToReceiveAd event received with message: " + args.Message); } public void HandleOnAdOpened(object sender, EventArgs args) { MonoBehaviour.print("HandleAdOpened event received"); } public void HandleOnAdClosed(object sender, EventArgs args) { MonoBehaviour.print("HandleAdClosed event received"); } public void HandleOnAdLeftApplication(object sender, EventArgs args) { MonoBehaviour.print("HandleAdLeftApplication event received"); } } //显示Banner广告的方法,在需要显示的地方调用即可 public void ShowBanner() { if (bannerView.IsLoaded()) { bannerView.Show(); } else { RequestBanner(); } }
以上代码新手可直接覆用,只需要将对应的广告ID修改成自己的即可。
相关文章推荐
- 谷歌AdMob广告接入——最白话,手把手教你做系列。
- 谷歌排行榜接入————最白话,手把手教你做系列。
- Vungle激励广告接入——最白话,手把手教你做系列。
- FaceBook原生广告接入——最白话,手把手教你做系列。
- Mobvista广告接入——最白话,手把手教你做系列。
- Unity IAP 谷歌支付,ios支付——最白话,手把手教你做系列。
- 谷歌AdMob广告接入(横幅广告)
- 谷歌AdMob广告接入(插屏广告)
- 谷歌AdMob广告接入(插屏广告)
- Android开发步步为营之55:google广告平台admob接入总结
- Unity中接入原生广告(UnityAds)和 GoogleAdmob 和 Vungle
- unity vr ar手机应用集成谷歌广告Admob教程
- 为react native 添加谷歌的AdMob广告插件
- Unity3d在IOS与安卓系统接入Admob广告教程
- admob 广告接入(iOS)
- Unity3d接入Admob广告教程android篇
- 关于接入google admob广告系统
- Unity接入Admob广告教程IOS篇
- Unity3D Android游戏添加谷歌广告——使用AdMob