Класс MobileAds предоставляет глобальные настройки для .
Размещайте рекламные объявления в основной ветке обсуждения Unity.
События генерируются в другом потоке, отличном от основного потока Unity. Если вы реализуете рекламные события и взаимодействуете с объектами Unity, вам необходимо синхронизировать эти события с основным потоком Unity.
Синхронизируйте рекламные события с основным потоком Unity вручную или автоматически, доверив синхронизацию этому процессу.
Рекомендуется: синхронизировать рекламные события вручную.
Для синхронизации рекламных событий вручную используйте метод 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);
}
});
Автоматическая синхронизация по рекламным событиям
Для синхронизации событий рекламы установите свойство 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;
}
}
Регулировка громкости видеорекламы
Если в вашем приложении есть собственные регуляторы громкости, например, для пользовательской музыки или звуковых эффектов, предоставление информации о громкости приложения позволит видеорекламе учитывать настройки громкости приложения. Это гарантирует, что пользователи будут получать видеорекламу с ожидаемой громкостью звука.
Громкость устройства, регулируемая с помощью кнопок громкости или ползунка громкости на уровне операционной системы, определяет громкость вывода звука на устройство. Однако приложения могут независимо регулировать уровни громкости относительно громкости устройства, чтобы настроить звучание под свои нужды.
Вы можете сообщить об относительном уровне громкости приложения, вызвав метод 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 в значение ноль, чтобы включить показ ограниченного количества рекламы :
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
минификация Android
Эта опция публикации Unity позволяет включить минификацию Java-кода . Если вы включите минификацию, вам также потребуется создать пользовательский файл ProGuard для сохранения классов, на которые ссылается SDK.
Включить пользовательский файл ProGuard
Перейдите в «Настройки проекта» > «Плеер» > «Android» > «Настройки публикации» > «Сборка» и выберите:
- Пользовательский файл Proguard
Откройте
/Assets/Plugins/Android/proguard-user.txtи добавьте следующее:
-keep class com.google.** { public *; }
Отключить отчеты о сбоях
Собирает отчеты о сбоях для целей отладки и анализа. Чтобы отключить отправку отчетов о сбоях, см. следующие разделы для 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());
Получить версию платформы
Для Unity это зависит от SDK платформ Android и iOS. Чтобы узнать версию SDK платформы, выполните следующую команду:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());