全局设置

MobileAds 类为 Google 移动广告 SDK 提供了全局设置。

在 Unity 主线程上引发广告事件

Google 移动广告 SDK 在不同于 Unity 的线程上引发事件 主线程。如果您实现广告事件并与 Unity 对象互动 必须将移动广告 SDK 事件与 Unity 主线程同步。

如果您想让移动广告 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 移动广告 SDK 披露应用音量信息可启用视频广告 确保遵循应用音量设置这样可确保用户收到 预期音量。

设备音量,通过音量按钮或操作系统级别的音量滑块控制; 确定设备音频输出的音量。不过,应用可以独立地 相对于设备音量调节音量,以定制音频 体验。

您可以向 Google 移动广告 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,当前设备音量和 应用未静音。

如果您的应用有特殊要求,则可将可选的 将ApplicationPreferences按键gad_has_consent_for_cookies设为零即可启用 受限广告 (LTD)

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

Android 缩减大小

通过这种 Unity 发布选项 Java 代码缩减。 如果启用了缩减大小功能,则还需要创建自定义 ProGuard 文件 来保留 SDK 引用的类。

  1. 启用自定义 Proguard 文件

    转到 项目设置 >播放器 >Android >发布设置 >构建、 然后选择:

    • 自定义 Proguard 文件
  2. 请打开 /Assets/Plugins/Android/proguard-user.txt 并添加以下内容:

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

停用崩溃报告

Google 移动广告 SDK 会收集崩溃报告以进行调试和分析 目的。您可以使用以下代码停用此崩溃报告。通过 下面几部分介绍了如何在 Android 和 iOS 上停用崩溃报告。

Android

添加 <meta-data> 标记并将 DISABLE_CRASH_REPORTING 设置为 true, 应用的 AndroidManifest.xml 文件:

<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();
}