blog

プログラミングとひとりごと。

Unityで簡単な2Dゲームを作る(7)動画広告を表示する。

marimoko3.hatenablog.com

 

このあと、広告もできました。

こちらのソースコードでインターステイシャル広告を実機で表示できました。

【Unity】AdMobをUnityアプリに実装する方法 

 

サンプル広告ユニットIDはこちらを参照

https://developers.google.com/admob/ios/test-ads

 

これも参考にして

Unityで他のスクリプトの変数や関数を利用する | htsuda.net

 

以下のように書きました。

AdMob.cs (を空のオブジェクトAdmobManagerにアタッチ)


using UnityEngine;
using GoogleMobileAds.Api;

public class AdMob : MonoBehaviour {
  
    public string Android_Interstitial;
    public string ios_Interstitial;

    private BannerView bannerView;
    private InterstitialAd _interstitial;

    // Use this for initialization
    void Awake()
    {
    }
    // Use this for initialization
    void Start()
    {
        // 起動時にインタースティシャル広告をロードしておく
        RequestInterstitial();
    }
    public void RequestInterstitial()
    {
#if UNITY_ANDROID
        string adUnitId = Android_Interstitial;
#elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/5135589807";
#else
        string adUnitId = "unexpected_platform";
#endif

        // Initialize an InterstitialAd.
        _interstitial = new InterstitialAd(adUnitId);
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().AddTestDevice("").Build();
        // Load the interstitial with the request.
        _interstitial.LoadAd(request);
    }

    void HandleAdClosed(object sender, System.EventArgs e)
    {
        _interstitial.Destroy();
        RequestInterstitial();
    }

    public void ShowAds()
    {
        _interstitial.Show();
    }
}

 

それを別のスクリプトから呼び出して使う

public class GameDirector : MonoBehaviour {

  public GameObject refObj;

 

  void Start () {
        refObj = GameObject.Find("AdmobManager");
    }

 

  void StageClear(){

     AdMob ad = refObj.GetComponent<AdMob>();
        ad.ShowAds();

    }

 

これでビルドしてUnity-iPhone.xcworkspace

Xcodeで開いて、実機(iPhone)で動きました。