谷歌广告接入For Unity
直接百度进入Admob 网站:https://developers.google.cn/admob/
找到for unity
根据指南接入,创建 AdMob 帐号,该网站需要翻墙,申请自己的AppID,以及应用中接入的广告ID,广告分为三种:
横幅式广告,插入式广告,激励广告。
下载Unity 的插件,导入到Unity。
在 Unity 编辑器中,依次选择 Assets > Play Services Resolver > Android Resolver > Resolve
在 Unity 编辑器中,从菜单中依次选择 Assets > Google Mobile Ads > Settings。
这里填入申请的AppID,而不是广告ID。
接下来就是 代码接入。
public void Start()
{
#if UNITY_ANDROID
string appId = "Your Android AppID";
#elif UNITY_IPHONE
string appId = "Your iOS AppID";
#else
string appId = "unexpected_platform";
#endif
MobileAds.SetiOSAppPauseOnBackground(true);
//初始化APP
MobileAds.Initialize(appId);
}
创建广告请求:
private AdRequest CreateAdRequest()
{
return new AdRequest.Builder().Build();
}
1.横幅式广告接入,显示在屏幕顶端 或者下部(测试期间 先使用官网提供的 测试广告ID)
private void RequestBanner()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "Your AdID";
#elif UNITY_IPHONE
string adUnitId = "Your AdID";
#else
string adUnitId = "unexpected_platform";
#endif
if (this.bannerView != null)
{
this.bannerView.Destroy();
}
// 创建 320x50 banner
this.bannerView = new BannerView(adUnitId, AdSize.SmartBanner, AdPosition.Top);
//加载
this.bannerView.LoadAd(this.CreateAdRequest());
}
2.插入式广告:
private void RequestInterstitial()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "Your AdID";
#elif UNITY_IPHONE
string adUnitId = "Your AdID";
#else
string adUnitId = "unexpected_platform";
#endif
if (this.interstitial != null)
{
this.interstitial.Destroy();
}
this.interstitial = new InterstitialAd(adUnitId);
this.interstitial.LoadAd(this.CreateAdRequest());
}
由于插入式和激励广告 需要一个加载过程,所以在显示的时候,先判断一下 加载是否完成
private void ShowInterstitial()
{
if (this.interstitial.IsLoaded())
{
this.interstitial.Show();
}
else
{
Debug.Log("Interstitial is not ok");
}
}
3.激励广告(视频型)
public void CreateAndLoadRewardedAd()
{
#if UNITY_EDITOR
string adUnitId = "unused";
#elif UNITY_ANDROID
string adUnitId = "Your AdID";
#elif UNITY_IPHONE
string adUnitId = "Your AdID";
#else
string adUnitId = "unexpected_platform";
#endif
this.rewardedAd = new RewardedAd(adUnitId);
AdRequest request = this.CreateAdRequest();
//加载激励广告
this.rewardedAd.LoadAd(request);
}
显示的时候,判断是否加载完成,同上。
关于用户和广告的互动,可以根据文档 详细接入。