全般設定

MobileAds クラスは、 のグローバル設定を提供します。

Unity メインスレッドで広告イベントを発生させる

は、Unity メインスレッドとは異なるスレッドでイベントを発生させます。広告イベントを実装して Unity オブジェクトを操作する場合は、イベントを Unity メインスレッドと同期する必要があります。

広告イベントを Unity メインスレッドと同期するには、手動で行うか、 が同期を処理するようにして自動で行います。

推奨: 広告イベントを手動で同期する

広告イベントを手動で同期するには、メインスレッドで ExecuteInUpdate メソッドを使用します。ExecuteInUpdate メソッドは、UnityEngine オブジェクトを操作する場合や、RaiseAdEventsOnUnityMainThread プロパティが無効になっている場合に使用します。

次の例では、バックグラウンド スレッドをログに記録し、UnityEngine オブジェクトを操作するアクションを実行します。

// Google Mobile Ads events are raised off the Unity main thread.

// This log is executed off the Unity main thread.
// Write all time-sensitive code before ExecuteInUpdate().
Debug.Log("Executing off the Unity main thread.");

// Use ExecuteInUpdate to run code on the main thread, allowing you to
// interact with Unity UI and GameObjects.
// Changed to fully-qualified name to resolve CS0103
GoogleMobileAds.Common.MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
    // This callback may be delayed on Android until the user returns to the app.
    Debug.Log("Executing on the Unity main thread.");

    // Place all code that interacts with Unity UI and GameObjects inside this callback.
    if (_myGameObject != null)
    {
        _myGameObject.SetActive(true);
    }
});

広告イベントの同期を自動化する

が広告イベントを同期するようにするには、 MobileAds.RaiseAdEventsOnUnityMainThread プロパティを true に設定します。

...
using GoogleMobileAds.Api;
...
public class GoogleMobileAdsDemoScript : MonoBehaviour
{
    public void Start()
    {
        // When true all events raised by GoogleMobileAds will be raised
        // on the Unity main thread. The default value is false.
        MobileAds.RaiseAdEventsOnUnityMainThread = true;
    }
}

動画広告のボリューム調整

アプリに独自の音量調節(音楽や音声効果などのカスタム音量設定)機能が備わっている場合、アプリの音量設定を に開示すれば、動画広告 の音量にもアプリ側の音量設定を反映できます。これにより、動画広告をユーザーの想定どおりの音量で視聴してもらうことが可能になります。

デバイスの音声出力の大きさは、デバイスのボリューム(ボリューム ボタンや OS レベルのボリューム スライダーで制御)で決まりますが、 アプリでは音声の聞こえ方を独自にコントロールするために、デバイスの設定に対する相対的なボリューム レベルを独自に調節できます。

アプリ側で設定されている相対音量を に伝えるには、広告を読み込む前に SetApplicationVolume() メソッドを呼び出します。広告の音量設定値の有効範囲は、0.0(無音)から 1.0(デバイスの現在の音量)までです。次の例で、相対的なアプリ ボリュームを SDK に通知する方法を示します。

// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);

アプリ側で音声がミュートされたことを SDK に伝えるには、広告を読み込む前に SetApplicationMuted() メソッドを呼び出します。

// Set app to be muted.
MobileAds.SetApplicationMuted(true);

アプリ側の音量は、デフォルトでは 1(デバイスの現在の音量)に設定されており、アプリはミュートされていない状態です。

アプリに特別な要件がある場合は、オプションの ApplicationPreferences キー gad_has_consent_for_cookies をゼロに設定して、 制限付き広告 を有効にできます。

// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);

Android の縮小化

この Unity 公開オプションを使用すると、 Java コードの縮小化を有効にできます。 縮小化を有効にする場合は、SDK で参照されるクラスを保持するためのカスタム ProGuard ファイルも作成する必要があります。

  1. カスタム ProGuard ファイルを有効にする

    [Project Settings](プロジェクト設定)> [Player](プレーヤー)> [Android] > [Publishing Settings](公開設定)> [Build](ビルド) に移動し、以下を選択します。

    • Custom Proguard File
  2. /Assets/Plugins/Android/proguard-user.txt を開き、次のコードを追加します。

-keep class com.google.** { public *; }

クラッシュレポートを無効にする

は、デバッグと分析を目的としてクラッシュレポートを収集します。クラッシュレポートを無効にするには、Android と iOS の次のセクションをご覧ください。

Android

アプリの AndroidManifest.xml ファイルに、DISABLE_CRASH_REPORTINGtrue に設定した <meta-data> タグを追加します。

<manifest>
   <application>
       <meta-data
           android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
           android:value="true" />
   </application>
</manifest>

iOS

iOS でクラッシュレポートを無効にするには、DisableSDKCrashReporting メソッドを呼び出します。

void Awake() {
  MobileAds.DisableSDKCrashReporting();
}

Unity プラグインのバージョンを取得する

Unity SDK のバージョンを取得するには、次のコマンドを実行します。

// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());

プラットフォームのバージョンを取得する

Unity 用の は、Android と iOS のプラットフォーム SDK に依存します。 プラットフォーム SDK のバージョンを取得するには、次のコマンドを実行します。

// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());