Configuración global

Selecciona la plataforma: Android iOS Unity Android (heredada)

La clase MobileAds proporciona la configuración global para .

Cómo generar eventos de anuncios en el subproceso principal de Unity

genera eventos en un subproceso diferente al subproceso principal de Unity. Si implementas eventos de anuncios y utilizas objetos de Unity, debes sincronizar los eventos con el subproceso principal de Unity.

Para sincronizar los eventos de anuncios con el subproceso principal de Unity, puedes hacerlo de forma manual o automática. Para esto último, deja que se encargue de la sincronización.

Recomendación: Sincroniza los eventos de anuncios de forma manual

Para sincronizar los eventos de anuncios de forma manual, usa el método ExecuteInUpdate en el subproceso principal. Debes usar el método ExecuteInUpdate cuando interactúes con objetos de UnityEngine y mientras la propiedad RaiseAdEventsOnUnityMainThread esté inhabilitada.

En el siguiente ejemplo, se registra un subproceso en segundo plano y se ejecuta una acción para interactuar con objetos de 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);
    }
});

Automatiza la sincronización de eventos de anuncios

Para que sincronice los eventos de anuncios, establece la propiedad MobileAds.RaiseAdEventsOnUnityMainThread en 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;
    }
}

Control de volumen para anuncios de video

Si tu app tiene sus propios controles de volumen, como volúmenes de música o efectos de sonido personalizados, divulgar el volumen de la app a permite que los anuncios de video respeten la configuración de volumen de la app. Esto garantiza que los usuarios reciban anuncios de video con el volumen de audio esperado.

El volumen del dispositivo, que se controla a través de los botones de volumen o el control deslizante de volumen del SO, determina el volumen de la salida de audio del dispositivo. Sin embargo, las apps pueden ajustar de forma independiente los niveles de volumen en relación con el volumen del dispositivo para adaptar la experiencia de audio.

Puedes informar el volumen relativo de la app a llamando al SetApplicationVolume() método antes de cargar el anuncio. Los valores de volumen de anuncios válidos varían de 0.0 (silencio) a 1.0 (volumen actual del dispositivo). Este es un ejemplo de cómo informar el volumen relativo de la app al SDK:

// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);

Para informar al SDK que se silenció el volumen de la app, llama al método SetApplicationMuted() antes de cargar el anuncio:

// Set app to be muted.
MobileAds.SetApplicationMuted(true);

De forma predeterminada, el volumen de la app se establece en 1, el volumen actual del dispositivo, y la app no está silenciada.

Si tu app tiene requisitos especiales, puedes establecer la clave opcional ApplicationPreferences gad_has_consent_for_cookies en cero para habilitar los anuncios limitados :

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

Minificación de Android

Esta opción de publicación de Unity te permite habilitar la minificación de código Java. Si habilitas la minificación, también deberás crear un archivo ProGuard personalizado para conservar las clases a las que hace referencia el SDK.

  1. Habilita el archivo ProGuard personalizado

    Ve a Project Settings > Player > Android > Publishing Settings > Build, y selecciona lo siguiente:

    • Custom Proguard File
  2. Abre /Assets/Plugins/Android/proguard-user.txt y agrega la siguiente información:

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

Inhabilita los informes de fallas

recopila informes de fallas para fines de depuración y análisis. Para inhabilitar los informes de fallas, consulta las siguientes secciones para Android y iOS.

Android

Agrega la etiqueta <meta-data> con DISABLE_CRASH_REPORTING establecida en true en el archivo AndroidManifest.xml de tu app:

<manifest>
   <application>
       <meta-data
           android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
           android:value="true" />
   </application>
</manifest>

iOS

Llama al método DisableSDKCrashReporting para inhabilitar los informes de fallas en iOS:

void Awake() {
  MobileAds.DisableSDKCrashReporting();
}

Obtén la versión del complemento de Unity

Para obtener la versión del SDK de Unity, ejecuta lo siguiente:

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

Obtén la versión de la plataforma

El para Unity depende de los SDK de la plataforma de Android y iOS. Para obtener la versión del SDK de la plataforma, ejecuta lo siguiente:

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