Globale Einstellungen

Die Klasse MobileAds enthält globale Einstellungen für Google Mobile Ads Unity Plugin.

Anzeigenereignisse im Unity-Hauptthread auslösen

Google Mobile Ads Unity Plugin löst Ereignisse in einem anderen Thread als dem Unity-Hauptthread aus. Wenn Sie Anzeigenereignisse implementieren und mit Unity-Objekten interagieren, müssen Sie die Google Mobile Ads Unity Plugin-Ereignisse mit dem Unity-Hauptthread synchronisieren.

Sie können Anzeigenereignisse entweder manuell oder automatisch mit dem Unity-Hauptthread synchronisieren. Im letzteren Fall übernimmt Google Mobile Ads Unity Plugin die Synchronisierung.

Empfohlen: Anzeigenereignisse manuell synchronisieren

Wenn Sie Anzeigenereignisse manuell synchronisieren möchten, verwenden Sie die Methode ExecuteInUpdate im Hauptthread. Sie sollten die Methode ExecuteInUpdate verwenden, wenn Sie mit UnityEngine-Objekten interagieren und die Property RaiseAdEventsOnUnityMainThread deaktiviert ist.

Im folgenden Beispiel wird ein Hintergrundthread protokolliert und eine Aktion ausgeführt, um mit UnityEngine-Objekten zu interagieren:

// 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);
    }
});

Synchronisierung bei Werbeereignissen automatisieren

Damit Google Mobile Ads Unity Plugin Anzeigenereignisse synchronisiert, legen Sie die Property MobileAds.RaiseAdEventsOnUnityMainThread auf true fest:

...
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;
    }
}

Lautstärkeregelung für Videoanzeigen

Wenn in Ihrer App die Lautstärke separat eingestellt werden kann, z. B. für Musik oder Toneffekte , können Sie festlegen, dass Google Mobile Ads Unity Plugin Videoanzeigen an die jeweils gewählte Lautstärke angepasst werden. So werden Videoanzeigen in der erwarteten Lautstärke ausgeliefert.

Die Lautstärke für die Audioausgabe von Geräten wird über die Gerätelautstärke gesteuert, die über die Lautstärketasten oder den Lautstärkeregler auf Betriebssystemebene eingestellt wird. Apps können die Lautstärkepegel jedoch unabhängig von der Gerätelautstärke anpassen, um das Audioerlebnis zu optimieren.

Sie können die relative Lautstärke der App an Google Mobile Ads Unity Plugin melden, indem Sie die Methode SetApplicationVolume() aufrufen, bevor Sie die Anzeige laden. Gültige Werte für die Anzeigenlautstärke reichen von 0.0 (stumm) bis 1.0 (aktuelle Gerätelautstärke). Hier ist ein Beispiel dafür, wie Sie das relative App-Volumen an das SDK melden:

// Set app volume to be half of current device volume.
MobileAds.SetApplicationVolume(0.5f);

Rufen Sie die Methode SetApplicationMuted() auf, bevor Sie die Anzeige laden, um dem SDK mitzuteilen, dass die Lautstärke der App stummgeschaltet wurde:

// Set app to be muted.
MobileAds.SetApplicationMuted(true);

Standardmäßig ist die App-Lautstärke auf 1, die aktuelle Gerätelautstärke, eingestellt und die App ist nicht stummgeschaltet.

Wenn Ihre App spezielle Anforderungen hat, können Sie den optionalen Schlüssel ApplicationPreferences gad_has_consent_for_cookies auf null setzen, um eingeschränkte Anzeigen zu aktivieren:

// Enable limited ads
ApplicationPreferences.SetInt("gad_has_consent_for_cookies", 0);

Android-Minifizierung

Mit dieser Unity-Veröffentlichungsoption können Sie die Java-Code-Minifizierung aktivieren. Wenn Sie die Minimierung aktivieren, müssen Sie auch eine benutzerdefinierte ProGuard-Datei erstellen, um Klassen beizubehalten, auf die vom SDK verwiesen wird.

  1. Benutzerdefinierte ProGuard-Datei aktivieren

    Gehen Sie zu Projekteinstellungen > Player > Android > Veröffentlichungseinstellungen > Build und wählen Sie Folgendes aus:

    • Benutzerdefinierte ProGuard-Datei
  2. Öffnen Sie /Assets/Plugins/Android/proguard-user.txt und fügen Sie Folgendes hinzu:

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

Absturzberichte deaktivieren

Google Mobile Ads Unity Plugin erhebt Absturzberichte zu Debugging- und Analysezwecken. Informationen zum Deaktivieren der Absturzberichterstattung finden Sie in den folgenden Abschnitten für Android und iOS.

Android

Fügen Sie der Datei AndroidManifest.xml Ihrer App das <meta-data>-Tag mit DISABLE_CRASH_REPORTING auf true gesetzt hinzu:

<manifest>
   <application>
       <meta-data
           android:name="com.google.android.gms.ads.flag.DISABLE_CRASH_REPORTING"
           android:value="true" />
   </application>
</manifest>

iOS

Rufen Sie die Methode DisableSDKCrashReporting auf, um Absturzberichte unter iOS zu deaktivieren:

void Awake() {
  MobileAds.DisableSDKCrashReporting();
}

Unity-Plug-in-Version abrufen

Führen Sie folgenden Befehl aus, um die Unity SDK-Version abzurufen:

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

Plattformversion abrufen

Das Google Mobile Ads Unity Plugin für Unity hängt von den Android- und iOS-Plattform-SDKs ab. Führen Sie folgenden Befehl aus, um die Version des Plattform-SDK abzurufen:

// Get the underlying platform SDK version.
Debug.Log("Platform SDK Version: " + MobileAds.GetPlatformVersion());