Klasa MobileAds zawiera ustawienia globalne dla Google Mobile Ads Unity Plugin.
Wywoływanie zdarzeń reklamowych w głównym wątku Unity
Google Mobile Ads Unity Plugin wywołuje zdarzenia w innym wątku niż wątek główny Unity. Jeśli wdrażasz zdarzenia reklam i wchodzisz w interakcje z obiektami Unity, musisz zsynchronizować zdarzenia Google Mobile Ads Unity Plugin z głównym wątkiem Unity.
Synchronizuj zdarzenia reklam z głównym wątkiem Unity ręcznie lub automatycznie, pozwalając Google Mobile Ads Unity Plugin na obsługę synchronizacji.
Zalecane: ręczna synchronizacja zdarzeń związanych z reklamami
Aby ręcznie zsynchronizować zdarzenia reklam, użyj metody ExecuteInUpdate w głównym wątku. Podczas interakcji z obiektami UnityEngine i gdy właściwość RaiseAdEventsOnUnityMainThread jest wyłączona, należy używać metody ExecuteInUpdate.
W przykładzie poniżej rejestrujemy wątek w tle i wykonujemy działanie, aby wchodzić w interakcje z obiektami 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);
}
});
Automatyzacja synchronizacji w przypadku zdarzeń związanych z reklamami
Aby zsynchronizować zdarzenia reklamowe w przypadku Google Mobile Ads Unity Plugin, ustaw właściwość MobileAds.RaiseAdEventsOnUnityMainThread na 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;
}
}
Kontrolowanie głośności reklam wideo
Jeśli aplikacja ma własną regulację głośności, np. głośność niestandardowej muzyki lub efektów dźwiękowych, udostępnienie informacji o głośności aplikacji usłudze Google Mobile Ads Unity Plugin umożliwia reklamom wideo dostosowanie się do ustawień głośności aplikacji. Dzięki temu użytkownicy będą otrzymywać reklamy wideo z oczekiwanym poziomem głośności.
Głośność urządzenia kontrolowana za pomocą przycisków głośności lub suwaka głośności na poziomie systemu operacyjnego określa głośność wyjścia audio urządzenia. Aplikacje mogą jednak niezależnie dostosowywać poziomy głośności względem głośności urządzenia, aby dostosować dźwięk.
Możesz zgłosić względną głośność aplikacji do Google Mobile Ads Unity Plugin, wywołując metodę SetApplicationVolume() przed wczytaniem reklamy. Prawidłowe wartości głośności reklamy mieszczą się w zakresie od 0.0 (cisza) do 1.0 (bieżąca głośność urządzenia). Oto przykład zgłaszania względnej głośności aplikacji do pakietu SDK:
// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);
Aby poinformować pakiet SDK, że głośność aplikacji została wyciszona, przed wczytaniem reklamy wywołaj metodę
SetApplicationMuted():
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
Domyślnie głośność aplikacji jest ustawiona na 1, czyli bieżącą głośność urządzenia, a aplikacja nie jest wyciszona.
Zgoda na pliki cookie
Jeśli Twoja aplikacja ma specjalne wymagania, możesz ustawić opcjonalny klucz ApplicationPreferencesgad_has_consent_for_cookies na zero, aby włączyć ograniczone wyświetlanie reklam:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Minifikacja Androida
Ta opcja publikowania w Unity umożliwia włączenie minimalizacji kodu Java. Jeśli włączysz minifikację, musisz też utworzyć niestandardowy plik ProGuard, aby zachować klasy, do których odwołuje się pakiet SDK.
Włącz niestandardowy plik ProGuard
Otwórz Ustawienia projektu > Odtwarzacz > Android > Ustawienia publikowania > Kompilacja i wybierz:
- Niestandardowy plik ProGuard
Otwórz
/Assets/Plugins/Android/proguard-user.txti dodaj te elementy:
-keep class com.google.** { public *; }
Wyłącz zgłaszanie błędów
Google Mobile Ads Unity Plugin zbiera raporty o awariach na potrzeby debugowania i analizy. Aby wyłączyć raportowanie awarii, zapoznaj się z sekcjami poniżej dotyczącymi Androida i iOS.
Android
Dodaj tag <meta-data> z parametrem DISABLE_CRASH_REPORTING ustawionym na true w pliku AndroidManifest.xml aplikacji:
<manifest>
<application>
<meta-data
android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
android:value="true" />
</application>
</manifest>
iOS
Aby wyłączyć raporty o awariach na iOS, wywołaj metodę DisableSDKCrashReporting:
void Awake() {
MobileAds.DisableSDKCrashReporting();
}
Pobieranie wersji wtyczki Unity
Aby uzyskać wersję pakietu SDK Unity, uruchom to polecenie:
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
Pobieranie wersji platformy
Google Mobile Ads Unity Plugin w przypadku Unity zależy od pakietów SDK na platformy Android i iOS. Aby uzyskać wersję pakietu SDK platformy, uruchom to polecenie:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());