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 报告应用的音量后,视频广告会遵循相关的应用音量设置。这可确保用户收到符合预期的视频广告音量。
设备音量由音量按钮或操作系统级的音量滑块控制,它决定了设备的音频输出音量。但是,应用可相对于该设备音量独立调节自己的音量水平,从而定制音频体验。
您可以通过调用 SetApplicationVolume()
方法向 Google 移动广告 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
设为 0,以启用受限广告 (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 移动广告 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();
}