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.
UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");
MobileAdsEventExecutor.ExecuteInUpdate(() =>
{
// Interact with UnityEngine objects 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
を 0 に設定して、制限付き広告を有効にできます。
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Android の縮小化
この Unity パブリッシュ オプションを使用すると、Java コードの最小化を有効にできます。縮小化を有効にする場合は、SDK で参照されるクラスを保持するためのカスタム ProGuard ファイルも作成する必要があります。
カスタム Proguard ファイルを有効にする
[Project Settings](プロジェクト設定)> [Player](プレーヤー)> [Android] > [Publishing Settings](公開設定)> [Build](ビルド)に移動し、以下を選択します。
- カスタム Proguard ファイル
/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());