GoogleMobileAds全画面インタースティシャル

主な機能

  • GoogleMobileAds全画面インタースティシャル広告からGeniee SDKの全画面インタースティシャル広告をメディエーション表示
  • GoogleMobileAds全画面インタースティシャル広告から表示したGeniee SDKの全画面インタースティシャル広告のコールバック対応

システム動作環境

  • Android
    • Android SDK 4.1以降
  • iOS
    • iOS 9.0以降
    • 64bit のiOS対象

開発環境

  • Unity 2019.2.12f1
  • JDK 1.8以降
  • Android SDKのビルドターゲット 28

関連SDK

  • Android GNAdSDK 8.5.1
  • iOS GNAdSDK 8.2.1
  • Android GNSFullscreenInterstitialAdapter 4.3.0
  • Android GNAdGoogleMediationAdapter 8.5.0.0
  • iOS GNSFullscreenInterstitialAdapter 3.0.1
  • iOS GNAdGoogleMediationAdapter 8.2.1
  • GoogleMobileAds 5.4.0

関連SDKURL

Plugin導入手順

UnityへのGeniee 全画面インタースティシャル と GoogleMobileAds広告 SDK Unity Plugin導入手順を説明します。

  1. Google Mobile Ads Unity pluginをUnityプロジェクトへインポート
  2. GNSAdSDK-UnityPlugin-Google-InterstitialのプラグインをUnityプロジェクトへインポート
  3. GoogleMobileAds のアプリIdを設定する
  4. GoogleMobileAds を使用し、全画面インタースティシャル広告のイベントを登録
  5. 全画面インタースティシャル広告のロード
  6. 全画面インタースティシャル広告の表示
  7. 広告の事前呼び出しについて
  8. テストデバイスID設定方法
  9. Androidパッケージ名について

1. Google Mobile Ads Unity pluginをUnityプロジェクトへインポート

  1. https://developers.google.com/admob/unity/startから GoogleMobileAds-v5.4.0.unitypackage をダウンロードしてください。
  2. Pluginを組み込むUnityプロジェクトを開きます。
  3. メニューバーの Assets -> Import Package -> Custom Packageの順に選択します。
  4. ダウンロードしたGoogleMobileAds-v5.4.0.unitypackageファイルを選択します。
  5. すべてのファイルのチェックボックスがオンになっていることを確認して、Import をクリックします。

2. GNSAdSDK-UnityPlugin-Google-InterstitialのプラグインをUnityプロジェクトへインポート

  1. Pluginを組み込むUnityプロジェクトを開きます。

  2. メニューバーの Assets -> Import Package -> Custom Packageの順に選択します。

  3. reward_google側のGNSAdSDK-UnityPlugin-Google-Interstitial-5.0.0.unitypackageファイルを選択します。

  4. 以下ファイルのチェックボックスがオンになっていることを確認して、Import をクリックします。

    • PlayServicesResolver
      • Editor
        • GNDependencies.xml
    • Plugins
      • Android
        • AndroidManifest.xml
        • mainTemplate.gradle

3. GoogleMobileAds のアプリIdを設定する

Assets/GoogleMobileAds/Settings..からアプリIdを設定ください。

  • AdMobを使用の場合はAdMobにチェックを入れてください。
  • AdManagerを使用している場合はAdManagerにチェックを入れてください。

詳しい実装手順については、以下のサイトを参考にしてください。 https://developers.google.com/admob/unity/start?hl=ja

4. GoogleMobileAds を使用し、全画面インタースティシャル広告のイベントを登録

以下は、全画面インタースティシャル広告を作成してイベントを登録するために必要なコードです。 イベントを登録する際は、動画のロードをする前に登録処理を完了させてください。

using GoogleMobileAds.Api;

...
private InterstitialAd interstitialAd;

interstitialAd = new InterstitialAd("AdUnitId");
interstitialAd.OnAdLoaded += HandleOnAdLoaded;
interstitialAd.OnAdFailedToLoad += HandleOnAdFailedToLoad;
interstitialAd.OnAdOpening += HandleOnAdOpened;
interstitialAd.OnAdClosed += HandleOnAdClosed;
interstitialAd.OnAdLeavingApplication += HandleOnAdLeftApplication;

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    // HandleOnAdLoaded event received
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    // HandleOnAdFailedToLoad event received
}

public void HandleOnAdOpened(object sender, EventArgs args)
{
    // HandleOnAdOpened event received
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    // HandleOnAdClosed event received
}

public void HandleOnAdLeftApplication(object sender, EventArgs args)
{
    // HandleOnAdLeftApplication event received
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

AdFailedToLoadEventArgs は下記プロパティを所持しています。

public class AdFailedToLoadEventArgs : EventArgs
{
    // メッセージ
    public string Message { get; set; }
}
1
2
3
4
5
6

5. 全画面インタースティシャル広告のロード

以下は、全画面インタースティシャル広告のロードに必要なコードです。

using GNSAdSDK.Api;

...
private InterstitialAd interstitialAd;

void LoadInterstitialAd()
{
    string defaultUnitId = "";
#if UNITY_ANDROID
        defaultUnitId = "ここにUnitIdを入れてください";
#elif UNITY_IPHONE
        defaultUnitId = "ここにUnitIdを入れてください";
#endif
    interstitialAd = new InterstitialAd(defaultUnitId);
    AdRequest request = new AdRequest.Builder().Build();
    interstitialAd.LoadAd(request);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  • ロードには数秒以上かかることがあるので、早い段階で動画広告をロードしてください。
  • 1つの広告の再生完了後に別の広告を見せる場合、再びロードを行う必要があります。

6. 全画面インタースティシャル広告の表示

以下は、全画面インタースティシャル広告の表示に必要なコードです。インタースティシャルのロードが完了されるとShowAd()の呼び出しが可能となります。

using GNSAdSDK.Api;

...
private InterstitialAd interstitialAd;

void ShowInterstitialAd()
{
    // インタースティシャルが表示出来るか確認
    if (interstitialAd.IsLoaded())
    {
        interstitialAd.Show();
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

7. 広告の事前呼び出しについて

広告表示後、事前に次の広告をロードしたい場合の注意点

広告クローズイベントHandleOnAdClosed内へinterstitialAd.LoadAd(request);を実装してください。

8. テストデバイスID設定方法

  • 開発中にテスト広告を有効にすることができます。
  • テストモードにすることなく、多くの広告をクリックした場合は、アカウントが無効となる危険性があります。
  • 本番リリース時にはこの設定を必ず削除してください。
  1. 設定するにはまずこのようなメッセージがコンソールまたはlogcat出力を確認します。
OS 出力例
Android I/Ads: Use AdRequest.Builder.addTestDevice("YOUR_TEST_DEVICE_ID")
iOS request.testDevices = @[ "YOUR_TEST_DEVICE_ID" ];
  1. AddTestDeviceメソッドをRequestに追加します。
AdRequest request = new AdRequest.Builder()
                           .AddTestDevice("YOUR_TEST_DEVICE_ID")
                           .Build();
interstitialAd.LoadAd(request);
1
2
3
4
5

9. Androidパッケージ名について

Assets/Plugins/Android/AndroidManifest.xml内のpackage名は適宜修正ください。

package="jp.co.geniee.GNSUnitySampleGoogleRewardVideo"
1
2
Last Updated: 2020/7/21 14:47:08