アダプティブ バナー広告の実装手順メモ
公式サイト・udemyを参考に実装していく
アダプティブバナーとは
スマートバナーの改良版
デバイスごとに広告サイズが最適化されるレスポンシブ広告
実装の前提条件
- Unityプラグインがインポートされている
- Mobile Ads SDKが追加されている
完了していない方は、以下の記事を参考に設定してください
アダプティブバナー実装手順
オブジェクト追加
スクリプト作成
スクリプト実装
- 以下の内容にスクリプトを編集する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using GoogleMobileAds.Api;
public class AdMobBanner : MonoBehaviour
{
private BannerView bannerView;//BannerView型の変数bannerViewを宣言 この中にバナー広告の情報が入る
//シーン読み込み時からバナーを表示する
//最初からバナーを表示したくない場合はこの関数を消してください。
private void Start()
{
RequestBanner();//アダプティブバナーを表示する関数 呼び出し
}
//ボタン等に割り付けて使用
//バナーを表示する関数
public void BannerStart()
{
RequestBanner();//アダプティブバナーを表示する関数 呼び出し
}
//ボタン等に割り付けて使用
//バナーを削除する関数
public void BannerDestroy()
{
bannerView.Destroy();//バナー削除
}
//アダプティブバナーを表示する関数
private void RequestBanner()
{
//AndroidとiOSで広告IDが違うのでプラットフォームで処理を分けます。
// 参考
//【Unity】AndroidとiOSで処理を分ける方法
// https://marumaro7.hatenablog.com/entry/platformsyoriwakeru
#if UNITY_ANDROID
string adUnitId = "Your_AdMob_APP_ID";//ここにAndroidのバナーIDを入力
#elif UNITY_IPHONE
string adUnitId = "Your_AdMob_APP_ID";//ここにiOSのバナーIDを入力
#else
string adUnitId = "unexpected_platform";
#endif
// 新しい広告を表示する前にバナーを削除
if (bannerView != null)//もし変数bannerViewの中にバナーの情報が入っていたら
{
bannerView.Destroy();//バナー削除
}
//現在の画面の向き横幅を取得しバナーサイズを決定
AdSize adaptiveSize =
AdSize.GetCurrentOrientationAnchoredAdaptiveBannerAdSizeWithWidth(AdSize.FullWidth);
//バナーを生成 new BannerView(バナーID,バナーサイズ,バナー表示位置)
bannerView = new BannerView(adUnitId, adaptiveSize, AdPosition.Bottom);//バナー表示位置は
//画面上に表示する場合:AdPosition.Top
//画面下に表示する場合:AdPosition.Bottom
//BannerView型の変数 bannerViewの各種状態 に関数を登録
bannerView.OnAdLoaded += HandleAdLoaded;//bannerViewの状態が バナー表示完了 となった時に起動する関数(関数名HandleAdLoaded)を登録
bannerView.OnAdFailedToLoad += HandleAdFailedToLoad;//bannerViewの状態が バナー読み込み失敗 となった時に起動する関数(関数名HandleAdFailedToLoad)を登録
//リクエストを生成
AdRequest adRequest = new AdRequest.Builder().Build();
//広告表示
bannerView.LoadAd(adRequest);
}
#region Banner callback handlers
//バナー表示完了 となった時に起動する関数
public void HandleAdLoaded(object sender, EventArgs args)
{
Debug.Log("バナー表示完了");
}
//バナー読み込み失敗 となった時に起動する関数
public void HandleAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
Debug.Log("バナー読み込み失敗" + args.LoadAdError);//args.LoadAdError:エラー内容
}
#endregion
}