Глобальные настройки

Выберите платформу: Android iOS Unity Android (Legacy)

Класс MobileAds предоставляет глобальные настройки для Google Mobile Ads Unity Plugin .

Размещайте рекламные объявления в основной ветке обсуждения Unity.

Google Mobile Ads Unity Plugin генерирует события в другом потоке, отличном от основного потока Unity. Если вы реализуете рекламные события и взаимодействуете с объектами Unity, вам необходимо синхронизировать события Google Mobile Ads Unity Plugin с основным потоком Unity.

Синхронизируйте рекламные события с основным потоком Unity вручную или автоматически, позволив Google Mobile Ads Unity Plugin обрабатывать синхронизацию.

Рекомендуется: синхронизировать рекламные события вручную.

Для синхронизации рекламных событий вручную используйте метод 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);
    }
});

Автоматическая синхронизация по рекламным событиям

Для синхронизации событий рекламы Google Mobile Ads Unity Plugin установите свойство 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 Unity Plugin о громкости приложения позволит видеорекламе учитывать настройки громкости приложения. Это гарантирует, что пользователи будут получать видеорекламу с ожидаемой громкостью звука.

Громкость устройства, регулируемая с помощью кнопок громкости или ползунка громкости на уровне операционной системы, определяет громкость вывода звука на устройство. Однако приложения могут независимо регулировать уровни громкости относительно громкости устройства, чтобы настроить звучание под свои нужды.

Вы можете передать относительный уровень громкости приложения в Google Mobile Ads Unity Plugin , вызвав метод 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 в значение ноль, чтобы включить показ ограниченного количества рекламы :

// Enable limited ads
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 Mobile Ads Unity Plugin собирает отчеты о сбоях для целей отладки и анализа. Чтобы отключить отчеты о сбоях, см. следующие разделы для 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();
}

Получить версию плагина Unity

Чтобы получить версию Unity SDK, выполните следующую команду:

// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());

Получить версию платформы

Google Mobile Ads Unity Plugin для Unity зависит от SDK платформ Android и iOS. Чтобы узнать версию SDK платформы, выполните следующую команду:

// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());