Globale Einstellungen

Die Klasse MobileAds enthält globale Einstellungen für .

Anzeigenereignisse im Unity-Hauptthread auslösen

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 Ereignisse mit dem Unity-Hauptthread synchronisieren.

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

Empfohlen: Anzeigenereignisse manuell synchronisieren

Verwenden Sie die Methode ExecuteInUpdate im Hauptthread, um Anzeigenereignisse manuell zu synchronisieren. 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 von Anzeigenereignissen automatisieren

Wenn Sie Anzeigenereignisse mit synchronisieren möchten, legen Sie die MobileAds.RaiseAdEventsOnUnityMainThread Property 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 Ihre App über eigene Lautstärkeregler verfügt, z. B. für Musik oder Toneffekt Lautstärken, können Sie die App-Lautstärke an weitergeben, damit Videoanzeigen an die jeweils gewählte Lautstärke angepasst werden. So sehen Nutzer Videoanzeigen in der erwarteten Lautstärke.

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

Sie können die relative App-Lautstärke an melden, indem Sie die SetApplicationVolume() Methode 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 die relative App-Lautstärke an das SDK melden:

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

Wenn Sie dem SDK mitteilen möchten, dass die App-Lautstärke stummgeschaltet wurde, rufen Sie die Methode SetApplicationMuted() auf, bevor Sie die Anzeige laden:

// 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 ApplicationPreferences Schlüssel 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);

Minifizierung für Android

Mit dieser Unity-Veröffentlichungsoption können Sie die Minifizierung von Java-Code aktivieren. Wenn Sie die Minifizierung 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

erfasst Absturzberichte zu Debugging- und Analysezwecken. Informationen zum Deaktivieren von Absturzberichten finden Sie in den folgenden Abschnitten für Android und iOS.

Android

Fügen Sie das <meta-data> Tag mit DISABLE_CRASH_REPORTING auf true in der Datei AndroidManifest.xml Ihrer App 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 den folgenden Befehl aus, um die Unity SDK-Version abzurufen:

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

Plattformversion abrufen

Die Version des Unity SDK hängt von den Android- und iOS-Plattform-SDKs ab. Führen Sie den folgenden Befehl aus, um die Version des Plattform-SDK abzurufen:

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