Ustawienia globalne

Klasa MobileAds udostępnia globalne ustawienia wtyczki reklam mobilnych Google dla środowiska Unity.

Wywoływanie zdarzeń reklamowych w głównym wątku Unity

Wtyczka reklam mobilnych Google dla środowiska Unity wywołuje zdarzenia w innym wątku niż główny wątek Unity. Jeśli implementujesz zdarzenia reklam i wchodzisz w interakcję z obiektami Unity, musisz zsynchronizować zdarzenia wtyczki reklam mobilnych Google dla środowiska Unity z głównym wątkiem Unity.

Synchronizuj zdarzenia reklamowe z głównym wątkiem Unity ręcznie lub automatycznie, pozwalając wtyczce reklam mobilnych Google dla środowiska Unity obsługiwać synchronizację.

Zalecane: ręczna synchronizacja zdarzeń związanych z reklamami

Aby ręcznie zsynchronizować zdarzenia związane z reklamami, użyj metody ExecuteInUpdate w głównym wątku. Podczas interakcji z obiektami UnityEngine musisz używać metody ExecuteInUpdate, a właściwość RaiseAdEventsOnUnityMainThread musi być wyłączona.

W tym przykładzie rejestrowany jest wątek w tle i wykonywane jest działanie wchodzące w interakcję z obiektami UnityEngine:

rewardedAd.OnAdPaid += (AdValue value) =>
{
    // Log the ad value immediately.
    // Place all time-sensitive code outside of ExecuteInUpdate().
    UnityEngine.Debug.Log($"Received ad value of {value.Value} {value.CurrencyCode}.");

    MobileAdsEventExecutor.ExecuteInUpdate(() =>
    {
        // Interact with UnityEngine objects here.
        // This method is delayed, don't put time sensitive code here.
    });
};

Automatyzowanie synchronizacji w przypadku zdarzeń związanych z reklamami

Aby wtyczka reklam mobilnych Google dla środowiska Unity synchronizowała zdarzenia związane z reklamami, 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 wtyczce Google Mobile Ads Unity informacji o 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 zamierzonym 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 dopasować dźwięk do potrzeb użytkownika.

Względną głośność aplikacji możesz zgłosić do wtyczki reklam mobilnych Google dla środowiska Unity, 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.

Jeśli Twoja aplikacja ma specjalne wymagania, możesz ustawić opcjonalny klucz ApplicationPreferences na 0, aby włączyć ograniczone wyświetlanie reklam:gad_has_consent_for_cookies

// 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.

  1. Włącz niestandardowy plik ProGuard

    Otwórz Ustawienia projektu > Odtwarzacz > Android > Ustawienia publikowania > Kompilacja i wybierz:

    • Niestandardowy plik ProGuard
  2. Otwórz /Assets/Plugins/Android/proguard-user.txt i dodaj te elementy:

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

Wyłączanie zgłaszania awarii

Wtyczka reklam mobilnych Google dla środowiska Unity zbiera raporty o awariach na potrzeby debugowania i analizy. Możesz wyłączyć raportowanie awarii za pomocą tego kodu. W sekcjach poniżej znajdziesz informacje o tym, jak wyłączyć raportowanie awarii na Androidzie i iOS.

Android

Dodaj tag <meta-data> z atrybutem 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 Unity SDK, uruchom to polecenie:

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

Pobieranie wersji platformy

Wtyczka reklam mobilnych Google dla środowiska Unity zależy od pakietów SDK platform 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());