MobileAds クラスは、Google Mobile Ads SDK のグローバル設定を提供します。
Unity のメインスレッドで広告イベントを発生させる
Google Mobile Ads SDK は、Unity のメインスレッドとは異なるスレッドでイベントを発生させます。広告イベントを実装して Unity オブジェクトを操作する場合は、 Google Mobile Ads SDK のイベントを Unity のメインスレッドと同期する必要があります。
広告イベントを Unity のメインスレッドと同期するには、手動で行うか、 自動的に行うことができます。同期は Google Mobile Ads SDK に処理させます。
推奨: 広告イベントを手動で同期する
広告イベントを手動で同期するには、メインスレッドで ExecuteInUpdate メソッドを使用します。UnityEngine オブジェクトを操作する場合や、RaiseAdEventsOnUnityMainThread プロパティが無効になっている場合は、ExecuteInUpdate メソッドを使用する必要があります。
次の例では、バックグラウンド スレッドをログに記録し、UnityEngine オブジェクトを操作するアクションを実行します。
rewardedAd.OnAdPaid += (AdValue value) =>
{
// Log the ad value immediately.
// Place all time-sensitive code outside of ExecuteInUpdate().
UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");
MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// Interact with UnityEngine objects here.
// This method is delayed, don't put time sensitive code here.
});
};
広告イベントの同期を自動化する
Google Mobile Ads SDK で広告イベントを同期するには、
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;
}
}
動画広告のボリューム調整
アプリに独自の音量調節(音楽や音声効果などのカスタム音量設定)機能が備わっている場合、アプリの音量設定を Google Mobile Ads SDK に開示すれば、動画広告 の音量にもアプリ側の音量設定を反映できます。これにより、動画広告をユーザーの想定どおりの音量で視聴してもらうことが可能になります。
デバイスのオーディオ出力の音量は、音量ボタンや OS レベルの音量スライダーで制御されるデバイスの音量によって決まります。アプリでは、音声の聞こえ方を独自にコントロールするために、デバイスの音量に対する相対的な音量レベルを独自に調節できます。
アプリ側で設定されている相対音量を Google Mobile Ads SDK に伝えるには、広告を読み込む前に 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(デバイスの現在の音量)に設定されており、アプリはミュートされていない状態です。
Cookie の同意
アプリに特別な要件がある場合は、オプションの
ApplicationPreferences キー gad_has_consent_for_cookies をゼロに設定して、
制限付き広告
を有効にできます。
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Android の縮小化
この Unity 公開オプションを使用すると、 Java コードの縮小化を有効にできます。 縮小化を有効にする場合は、SDK で参照されるクラスを保持するためのカスタム ProGuard ファイルも作成する必要があります。
カスタム ProGuard ファイルを有効にする
[Project Settings](プロジェクト設定)> [Player](プレーヤー)> [Android] > [Publishing Settings](公開設定)> [Build](ビルド) に移動し、以下を選択します。
- Custom Proguard File
/Assets/Plugins/Android/proguard-user.txtを開き、次のコードを追加します。
-keep class com.google.** { public *; }
クラッシュ レポートを無効にする
Google Mobile Ads SDK は、デバッグと分析 を目的としてクラッシュ レポートを収集します。次のコードを使用して、このクラッシュ レポートを無効にできます。以降のセクションでは、Android と iOS でクラッシュ レポートを無効にする方法について説明します。
Android
アプリの AndroidManifest.xml ファイルに、DISABLE_CRASH_REPORTING を true に設定した <meta-data> タグを追加します。
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
iOS
DisableSDKCrashReporting メソッドを呼び出して、iOS でクラッシュ レポートを無効にします。
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
Unity プラグインのバージョンを取得する
Unity SDK のバージョンを取得するには、次のコマンドを実行します。
// Get the unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
プラットフォームのバージョンを取得する
Unity 向けの Google Mobile Ads SDK は、Android と iOS のプラットフォーム SDK に依存しています。 プラットフォーム SDK のバージョンを取得するには、次のコマンドを実行します。
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());