MobileAds
類別提供 Google Mobile Ads SDK 的全球設定。
在 Unity 主執行緒上觸發廣告事件
Google Mobile Ads SDK 會在 Unity 主執行緒以外的執行緒上觸發事件。如果您要實作廣告事件並與 Unity 物件互動,則必須將 Mobile Ads SDK 事件與 Unity 主執行緒同步處理。
如果您希望 Mobile Ads SDK 為您處理這個執行緒問題,請將 MobileAds.RaiseAdEventsOnUnityMainThread
設為 true
。這會強制 SDK 在 Unity 主執行緒上提升所有事件和回呼。
...
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 公開應用程式音量,即可讓影片廣告採用應用程式音量設定。這可確保使用者接收到影片廣告時,廣告的音量符合預期。
裝置音量可透過音量鍵或作業系統層級的音量滑桿控制,用於決定裝置音訊輸出的音量。不過,應用程式可以獨立調整相對於裝置音量的音量,以提供客製化的音訊體驗。
您可以呼叫 SetApplicationVolume()
方法,向 Google Mobile Ads SDK 回報相對應用程式量。有效的廣告音量值範圍從 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
設為零,啟用受限制的廣告 (LTD):
// Enable limited ads (LTD)
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Android 精簡
這個 Unity 發布選項可讓您啟用 Java 程式碼縮減功能。如果您啟用精簡功能,還必須建立自訂 ProGuard 檔案,以便保留 SDK 參照的類別。
啟用自訂 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
檔案中新增 <meta-data>
標記,並將 DISABLE_CRASH_REPORTING
設為 true
:
<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();
}