La clase MobileAds proporciona parámetros de configuración globales para Google Mobile Ads Unity Plugin.
Genera eventos de anuncios en el subproceso principal de Unity
Google Mobile Ads Unity Plugin genera eventos en un subproceso diferente del subproceso principal de Unity. Si implementas eventos de anuncios y deseas interactuar con objetos de Unity, debes sincronizar los eventos de Google Mobile Ads Unity Plugin con el subproceso principal de Unity.
Sincroniza los eventos de anuncios con el subproceso principal de Unity de forma manual o automática, permitiendo que Google Mobile Ads Unity Plugin controle la sincronización.
Recomendación: Sincroniza manualmente los eventos de anuncio
Para sincronizar manualmente los eventos de anuncios, 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 en los eventos de anuncios
Para que Google Mobile Ads Unity Plugin 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 personalizados de música o efectos de sonido, divulgar el volumen de la app a Google Mobile Ads Unity Plugin 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 con los botones de volumen o el control deslizante de volumen a nivel 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 personalizar la experiencia de audio.
Puedes informar el volumen relativo de la app a Google Mobile Ads Unity Plugin llamando al método SetApplicationVolume() antes de cargar el anuncio. Los valores de volumen del anuncio 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.
Consentimiento para el uso de cookies
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 minimización de código Java. Si habilitas la minimización, también deberás crear un archivo ProGuard personalizado para conservar las clases a las que hace referencia el SDK.
Habilita el archivo Proguard personalizado
Ve a Project Settings > Player > Android > Publishing Settings > Build y selecciona lo siguiente:
- Archivo Proguard personalizado
Abre el archivo
/Assets/Plugins/Android/proguard-user.txty agrega la siguiente información:
-keep class com.google.** { public *; }
Inhabilita los informes de fallas
Google Mobile Ads Unity Plugin recopila informes de fallas para la depuración y el 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 establecido 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 Google Mobile Ads Unity Plugin para Unity depende de los SDKs de las plataformas para 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());