Globale Einstellungen

Die Klasse MobileAds bietet 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.

Synchronisieren Sie Anzeigenereignisse entweder manuell oder automatisch mit dem Unity-Hauptthread, indem Sie die Synchronisierung von Google Mobile Ads Unity Plugin übernehmen lassen.

Empfohlen: Anzeigenereignisse manuell synchronisieren

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

Im folgenden Beispiel wird ein Hintergrundthread protokolliert und eine Aktion zur Interaktion mit UnityEngine-Objekten ausgeführt:

// 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 Anzeigenereignissen automatisieren

Damit Google Mobile Ads Unity Plugin Anzeigenereignisse synchronisieren kann, legen Sie das Attribut 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 Anzeigen an die jeweils gewählte Lautstärke angepasst werden. Dazu müssen Sie die App-Lautstärke an Google Mobile Ads Unity Plugin weitergeben. So wird sichergestellt, dass Nutzer Videoanzeigen in der erwarteten Lautstärke hören.

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 die Audiowiedergabe individuell zu gestalten.

Sie können die relative App-Lautstärke an Google Mobile Ads Unity Plugin melden, indem Sie die Methode SetApplicationVolume() aufrufen, bevor die Anzeige geladen wird. 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 die relative App-Lautstärke an das SDK gemeldet wird:

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

Wenn Sie das SDK darüber informieren 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 besondere 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 Minimierung von Java-Code aktivieren. Wenn Sie die Reduzierung aktivieren, müssen Sie auch eine benutzerdefinierte ProGuard-Datei erstellen, um die vom SDK referenzierten Klassen beizubehalten.

  1. Benutzerdefinierte Proguard-Datei aktivieren

    Gehen Sie zu Project Settings > Player > Android > Publishing Settings > 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 erfasst Absturzberichte für die Fehlerbehebung und Analyse. Informationen zum Deaktivieren von Absturzberichten finden Sie in den folgenden Abschnitten für Android und iOS.

Android

Fügen Sie in der Datei AndroidManifest.xml Ihrer Anwendung das Tag <meta-data> hinzu, wobei DISABLE_CRASH_REPORTING auf true gesetzt ist:

<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 ist von den Android- und iOS-Plattform-SDKs abhängig. 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());