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(デバイスの現在の音量)に設定されており、アプリはミュートされていない状態です。
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 *; }
クラッシュレポートを無効にする
は、デバッグと分析を目的としてクラッシュレポートを収集します。クラッシュレポートを無効にするには、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
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());