FullscreenInterstitial PluginInstallation_DFP - mkaji-geniee/Geniee-SDK-Unity-Plugin GitHub Wiki

Plugin導入手順

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

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

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

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

2. GNSAdSDKDfpUnityPlugin-X.X.XをUnityプロジェクトへインポート

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

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

  3. reward_dfp側のDistフォルダのGNSAdSDKDfpUnityPlugin-X.X.X.unitypackageファイルを選択します。

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

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

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

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

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
}

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

public class AdFailedToLoadEventArgs : EventArgs
{
    // メッセージ
    public string Message { get; set; }
}

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

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

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つの広告の再生完了後に別の広告を見せる場合、再びロードを行う必要があります。

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

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

using GNSAdSDK.Api;

...
private InterstitialAd interstitialAd;

void ShowInterstitialAd()
{
    // インタースティシャルが表示出来るか確認
    if (interstitialAd.IsLoaded())
    {
        interstitialAd.Show();
    }
}

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

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

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

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

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

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

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

 package="jp.co.geniee.GNSUnitySampleDfpRewardVideo"