Klasa MobileAds udostępnia ustawienia globalne dla .
Wywoływanie zdarzeń reklamowych w głównym wątku Unity
wywołuje zdarzenia w innym wątku niż główny wątek Unity. Jeśli implementujesz zdarzenia reklamowe i wchodzisz w interakcję z obiektami Unity, musisz zsynchronizować zdarzenia z głównym wątkiem Unity.
Zsynchronizuj zdarzenia reklamowe z głównym wątkiem Unity ręcznie lub automatycznie, pozwalając na obsługę synchronizacji.
Zalecane: ręczne synchronizowanie zdarzeń reklamowych
Aby ręcznie zsynchronizować zdarzenia reklamowe, użyj metody ExecuteInUpdate w głównym wątku. Metody ExecuteInUpdate należy używać podczas interakcji z obiektami UnityEngine oraz gdy właściwość RaiseAdEventsOnUnityMainThread jest wyłączona.
W tym przykładzie rejestrujemy wątek w tle i uruchamiamy działanie, aby wchodzić w interakcję 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);
}
});
Automatyzowanie synchronizacji zdarzeń reklamowych
Aby zsynchronizować zdarzenia reklamowe, ustaw wartość true dla właściwości
MobileAds.RaiseAdEventsOnUnityMainThread:
...
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łasne elementy sterujące głośnością, np. głośność niestandardowej muzyki lub efektów dźwiękowych, ujawnienie głośności aplikacji umożliwia reklamom wideo dostosowanie się do ustawień głośności aplikacji. Dzięki temu użytkownicy będą mogli oglądać 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ć poziom głośności względem głośności urządzenia, aby dostosować wrażenia dźwiękowe.
Możesz zgłosić względną głośność aplikacji, 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, wywołaj metodę SetApplicationMuted() przed wczytaniem reklamy:
// Set app to be muted.
MobileAds.SetApplicationMuted(true);
Domyślnie głośność aplikacji jest ustawiona na 1 (bieżąca 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
ApplicationPreferences klucz gad_has_consent_for_cookies na zero, aby włączyć
ograniczone wyświetlanie reklam
:
// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);
Minimalizacja kodu na Androidzie
Ta opcja publikowania w Unity umożliwia włączenie minimalizacji kodu Java. Jeśli włączysz minimalizację, musisz też utworzyć niestandardowy plik Proguard, aby zachować klasy, do których odwołuje się pakiet SDK.
Włącz niestandardowy plik Proguard
Otwórz kolejno Ustawienia projektu > Odtwarzacz > Android > Ustawienia publikowania > Kompilacja, i wybierz:
- Niestandardowy plik Proguard
Otwórz plik
/Assets/Plugins/Android/proguard-user.txti dodaj te informacje:
-keep class com.google.** { public *; }
Wyłączanie zgłaszania awarii
zbiera raporty o awariach na potrzeby debugowania i analizy. Aby wyłączyć zgłaszanie awarii, zapoznaj się z sekcjami poniżej dotyczącymi Androida i iOS.
Android
Dodaj tag <meta-data> z wartością true dla parametru DISABLE_CRASH_REPORTING 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 pobrać wersję pakietu SDK Unity, uruchom to polecenie:
// Get the Unity SDK version.
Debug.Log("Unity SDK Version: " + MobileAds.GetVersion());
Pobieranie wersji platformy
dla Unity zależy od pakietów SDK platform Android i iOS. Aby pobrać wersję pakietu SDK platformy, uruchom to polecenie:
// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());