La classe MobileAds fornisce impostazioni globali per Google Mobile Ads Unity Plugin.
Genera eventi degli annunci sul thread principale di Unity
Google Mobile Ads Unity Plugin attiva gli eventi su un thread diverso da quello principale di Unity. Se implementi gli eventi degli annunci e interagisci con gli oggetti Unity, devi sincronizzare gli eventi Google Mobile Ads Unity Plugin con il thread principale di Unity.
Sincronizza gli eventi degli annunci con il thread principale di Unity manualmente o automaticamente, consentendo a Google Mobile Ads Unity Plugin di gestire la sincronizzazione.
Consigliato: sincronizza manualmente gli eventi degli annunci
Per sincronizzare manualmente gli eventi degli annunci, utilizza il metodo ExecuteInUpdate nel thread principale. Devi utilizzare il metodo ExecuteInUpdate quando interagisci con gli oggetti UnityEngine e quando la proprietà RaiseAdEventsOnUnityMainThread è disattivata.
L'esempio seguente registra un thread in background ed esegue un'azione per interagire con gli oggetti 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);
}
});
Automatizza la sincronizzazione sugli eventi pubblicitari
Affinché Google Mobile Ads Unity Plugin sincronizzi gli eventi degli annunci, imposta la proprietà MobileAds.RaiseAdEventsOnUnityMainThread su 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;
}
}
Controllo del volume degli annunci video
Se la tua app ha i propri controlli del volume, ad esempio volume personalizzato di musica o effetti sonori, la divulgazione del volume dell'app a Google Mobile Ads Unity Plugin consente agli annunci video di rispettare le impostazioni di volume dell'app. In questo modo, gli utenti vedranno gli annunci video con il volume audio previsto.
Il volume del dispositivo, controllato tramite i tasti del volume o il cursore del volume a livello di sistema operativo, determina il volume dell'uscita audio del dispositivo. Tuttavia, le app possono regolare in modo indipendente i livelli del volume rispetto al volume del dispositivo per personalizzare l'esperienza audio.
Puoi segnalare il volume relativo dell'app a Google Mobile Ads Unity Plugin chiamando il metodo SetApplicationVolume() prima di caricare l'annuncio. I valori validi per il volume dell'annuncio vanno da 0.0 (silenzioso) a 1.0 (volume corrente del dispositivo). Ecco un esempio di come segnalare il volume relativo dell'app all'SDK:
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
Per informare l'SDK che il volume dell'app è stato disattivato, chiama il metodo SetApplicationMuted() prima di caricare l'annuncio:
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
Per impostazione predefinita, il volume dell'app è impostato su 1, il volume del dispositivo corrente, e l'audio dell'app non è disattivato.
Consenso per i cookie
Se la tua app ha requisiti speciali, puoi impostare la chiave facoltativa ApplicationPreferences gad_has_consent_for_cookies su zero per attivare gli annunci con limitazioni:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Minificazione Android
Questa opzione di pubblicazione di Unity ti consente di attivare la minimizzazione del codice Java. Se attivi la minimizzazione, dovrai anche creare un file ProGuard personalizzato per mantenere le classi a cui fa riferimento l'SDK.
Abilita file Proguard personalizzato
Vai a Impostazioni progetto > Player > Android > Impostazioni di pubblicazione > Build e seleziona:
- File Proguard personalizzato
Apri
/Assets/Plugins/Android/proguard-user.txte aggiungi quanto segue:
-keep class com.google.** { public *; }
Disattiva segnalazione anomalie
Google Mobile Ads Unity Plugin raccoglie i report sugli arresti anomali per finalità di debug e analisi. Per disattivare i report sugli arresti anomali, consulta le sezioni seguenti per Android e iOS.
Android
Aggiungi il tag <meta-data> con DISABLE_CRASH_REPORTING impostato su true nel file AndroidManifest.xml della tua app:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
iOS
Chiama il metodo DisableSDKCrashReporting per disattivare i report sugli arresti anomali su iOS:
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
Scarica la versione del plug-in Unity
Per ottenere la versione dell'SDK Unity, esegui questo comando:
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
Ottieni la versione della piattaforma
Google Mobile Ads Unity Plugin per Unity dipende dagli SDK delle piattaforme Android e iOS. Per ottenere la versione dell'SDK della piattaforma, esegui questo comando:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());