开始之前先导入GoogleMobileAds资源包

然后再Unity面板里找到GoogleMobileAds的GoogleMobileAdsSeting在里面添加app的广告代码


using GoogleMobileAds.Api;

代码引用GoogleMobileAds包

private BannerView bannerView;

保存屏幕边缘广告的变量

private InterstitialAd interstitial;

保存游戏过程中出现的插屏广告的变量

private RewardBasedVideoAd rewardBasedVideo;

保存激励视频广告的变量

bannerView = new BannerView(string adUnitId, AdSize adSize, AdPosition position)

实例化边缘广告,第一个参数是广告的ID,第二个参数是广告的大小,第三个参数是广告的位置

public static readonly AdSize Banner = new AdSize(320, 50);
public static readonly AdSize MediumRectangle = new AdSize(300, 250);
public static readonly AdSize IABBanner = new AdSize(468, 60);
public static readonly AdSize Leaderboard = new AdSize(728, 90);
public static readonly AdSize SmartBanner = new AdSize(0, 0, Type.SmartBanner);
public static readonly int FullWidth = -1;

第二个参数,每个广告的大小

public enum AdPosition
{
    Top = 0,
    Bottom = 1,
    TopLeft = 2,
    TopRight = 3,
    BottomLeft = 4,
    BottomRight = 5,
    Center = 6
}

第三个参数,广告的位置

AdRequest request = new AdRequest.Builder().Build();

申请广告许可

bannerView.LoadAd(request);

显示实例化的边缘广告,传入创建的广告许可

bannerView.Destroy();

关闭边缘广告

interstitial = new InterstitialAd(string adUnitId);

实例化插屏广告,传入参数为插屏广告的ID

AdRequest request = new AdRequest.Builder().Build();

申请广告许可

interstitial.LoadAd(request);

加载插屏广告但是不显示,传入广告许可

interstitial.OnAdClosed += OnAdClosed  //EventHandler

private void OnAdClosed (object sender, EventArgs args){ }

为插屏广告关闭添加回调函数,添加的回调函数两个参数为固定的

interstitial.OnAdLoaded += OnAdLoaded;   //EventHandler
private void OnAdLoaded (object sender, EventArgs args){ }

为插屏广告加载添加回调函数,添加的回调函数两个参数为固定的

interstitial.IsLoaded()

 判断插屏广告是否加载,如果没加载直接显示会报错

interstitial.Show();

将加载的插屏广告显示出来   PS:如果想每次插屏广告显示的不一样,再关闭插屏广告的回调函数中重新加载广告并添加回调

rewardBasedVideo = RewardBasedVideoAd.Instance;

实例化激励视频,激励视频需要在加载的时候传入ID

AdRequest request = new AdRequest.Builder().Build();

申请广告许可

rewardBasedVideo.LoadAd(request, string adUnitId);

加载激励视频,第一个参数为广告申请,第二个参数是广告ID

rewardBasedVideo.OnAdRewarded += OnAdRewarded;
public void OnAdRewarded(object sender, EventArgs args)

给激励视频添加视频播放完成的回调函数,播放完成会先调用这个然后调用关闭

rewardBasedVideo.OnAdClosed+= OnAdClosed;
public void OnAdClosed(object sender, EventArgs args)

给激励视频添加关闭回调函数

rewardBasedVideo.OnAdLoaded+= OnAdLoaded;
public void OnAdLoaded(object sender, EventArgs args)

给激励视频添加加载回调函数

rewardBasedVideo.IsLoaded()

判断激励视频是否加载,如果没加载就播放会报错

rewardBasedVideo.Show();

播放激励视频 PS:如果想每次播放的激励视频不同就需要再关闭回调函数里重新加载激励视频并添加回调