Interstitial-Anzeigen

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche ihrer Host-App abdecken. Sie werden normalerweise an natürlichen Übergangspunkten innerhalb einer App eingeblendet, z. B. während der Pause zwischen Leveln in einem Spiel. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, kann der Nutzer entweder auf die Anzeige tippen und zum entsprechenden Ziel weitergeleitet werden oder sie schließen und zur App zurückkehren. Fallstudie

In diesem Leitfaden wird erläutert, wie Sie Interstitial-Anzeigen in eine Unity-App einbinden.

Voraussetzungen

Interstitial-Anzeige erstellen

Der erste Schritt zur Auslieferung einer Interstitial-Anzeige besteht darin, ein InterstitialAd-Objekt in einem Skript zu erstellen, das an eine GameObject angehängt ist.

using GoogleMobileAds.Api;
...

private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
}

Der Konstruktor für InterstitialAd hat den folgenden Parameter:

  • adUnitId: die AdMob-Anzeigenblock-ID, über die InterstitialAd Anzeigen laden soll

Je nach Plattform ist zu beachten, wie unterschiedliche Anzeigenblöcke verwendet werden. Für Anzeigenanfragen auf iOS-Geräten ist ein iOS-Anzeigenblock und auf Android-Geräten ein Android-Anzeigenblock erforderlich.

Immer mit Testanzeigen testen

Der Beispielcode oben enthält eine Anzeigenblock-ID und Sie können damit Anzeigen anfordern. Es wurde speziell so konfiguriert, dass für jede Anfrage Testanzeigen zurückgegeben werden, sodass es sicher verwendet werden kann.

Wenn Sie jedoch eine App in der AdMob-Benutzeroberfläche registrieren und eigene Anzeigenblock-IDs für die Verwendung in Ihrer App erstellen, müssen Sie Ihr Gerät bei der Entwicklung explizit als Testgerät konfigurieren. Das ist äußerst wichtig. Tests mit echten Anzeigen – auch wenn Sie noch nie darauf getippt haben – verstoßen gegen die AdMob-Richtlinien und können zur Sperrung Ihres Kontos führen. Unter Testanzeigen erfahren Sie, wie Sie dafür sorgen können, dass Sie bei der Entwicklung immer Testanzeigen erhalten.

Anzeige laden

Sobald die InterstitialAd instanziiert ist, wird im nächsten Schritt eine Anzeige geladen. Dazu verwenden Sie die Methode loadAd() in der Klasse InterstitialAd. Sie verwenden ein AdRequest-Argument, das Laufzeitinformationen (z. B. Targeting-Informationen) zu einer einzelnen Anzeigenanfrage enthält.

Hier ein Beispiel für das Laden einer Anzeige:

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

    // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);
    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

Anzeige einblenden

Interstitial-Anzeigen sollten während einer natürlichen Pause im Ablauf einer App eingeblendet werden. Zwischen Levels in einem Spiel ist ein gutes Beispiel oder nachdem der Nutzer eine Aufgabe erledigt hat. Wenn eine Interstitial-Anzeige ausgeliefert werden soll, verwenden Sie die Methode isLoaded(), um zu prüfen, ob der Ladevorgang abgeschlossen ist. Rufen Sie dann show() auf.

Die Interstitial-Anzeige aus dem vorherigen Codebeispiel kann am Ende eines Spiels wie unten gezeigt zu sehen sein.

private void GameOver()
{
  if (this.interstitial.IsLoaded()) {
    this.interstitial.Show();
  }
}

Anzeigenereignisse

Um das Verhalten Ihrer Anzeige weiter anzupassen, können Sie eine Reihe von Ereignissen im Lebenszyklus der Anzeige nutzen: Laden, Öffnen, Schließen usw. Registrieren Sie für den entsprechenden EventHandler wie unten gezeigt einen Bevollmächtigten, um auf diese Ereignisse zu warten.

using GoogleMobileAds.Api;
...
private InterstitialAd interstitial;

private void RequestInterstitial()
{
    #if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
    #elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
    #else
        string adUnitId = "unexpected_platform";
    #endif

     // Initialize an InterstitialAd.
    this.interstitial = new InterstitialAd(adUnitId);

    // Called when an ad request has successfully loaded.
    this.interstitial.OnAdLoaded += HandleOnAdLoaded;
    // Called when an ad request failed to load.
    this.interstitial.OnAdFailedToLoad += HandleOnAdFailedToLoad;
    // Called when an ad is shown.
    this.interstitial.OnAdOpening += HandleOnAdOpening;
    // Called when the ad is closed.
    this.interstitial.OnAdClosed += HandleOnAdClosed;

    // Create an empty ad request.
    AdRequest request = new AdRequest.Builder().Build();
    // Load the interstitial with the request.
    this.interstitial.LoadAd(request);
}

public void HandleOnAdLoaded(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdLoaded event received");
}

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    MonoBehaviour.print("HandleFailedToReceiveAd event received with message: "
                        + args.Message);
}

public void HandleOnAdOpening(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdOpening event received");
}

public void HandleOnAdClosed(object sender, EventArgs args)
{
    MonoBehaviour.print("HandleAdClosed event received");
}

Das OnAdFailedToLoad-Ereignis enthält spezielle Ereignisargumente. Sie übergibt eine Instanz von HandleAdFailedToLoadEventArgs mit einer Message, die den Fehler beschreibt:

public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    print("Interstitial failed to load: " + args.Message);
    // Handle the ad failed to load event.
}
AnzeigenereignisBeschreibung
OnAdLoaded Das Ereignis OnAdLoaded wird ausgeführt, wenn das Laden einer Anzeige abgeschlossen ist.
OnAdFailedToLoad Das Ereignis OnAdFailedToLoad wird aufgerufen, wenn das Laden einer Anzeige fehlschlägt. Der Parameter Message beschreibt den aufgetretenen Fehlertyp.
OnAdOpening Diese Methode wird aufgerufen, wenn die Anzeige eingeblendet wird und den Bildschirm des Geräts abdeckt.
OnAdClosed Diese Methode wird aufgerufen, wenn die Interstitial-Anzeige geschlossen wird, weil der Nutzer auf das Schließen-Symbol tippt oder die Schaltfläche „Zurück“ verwendet. Wenn die Audioausgabe oder Spielschleife der App pausiert ist, ist dies ein guter Ausgangspunkt, um sie fortzusetzen.

Interstitial-Anzeigen bereinigen

Wenn Sie mit einer InterstitialAd fertig sind, rufen Sie die Methode Destroy() auf, bevor Sie den Verweis darauf löschen:

interstitial.Destroy();

Dadurch wird das Plug-in darüber informiert, dass das Objekt nicht mehr verwendet wird und der belegte Arbeitsspeicher zurückgefordert werden kann. Wenn diese Methode nicht aufgerufen wird, treten Speicherlecks auf.

Einige Best Practices

Überlegen Sie, ob Interstitial-Anzeigen der richtige Anzeigentyp für Ihre App sind.
Interstitial-Anzeigen funktionieren am besten in Apps mit natürlichen Übergangspunkten. Wenn eine Aufgabe innerhalb einer App abgeschlossen wird, z. B. wenn ein Bild geteilt oder ein Level erreicht wird, entsteht ein solcher Punkt. Da der Nutzer eine Unterbrechung der Aktion erwartet, kann eine Interstitial-Anzeige leicht präsentiert werden, ohne dass die Nutzererfahrung beeinträchtigt wird. Überlegen Sie sich, an welchen Stellen im Workflow Ihrer App Interstitial-Anzeigen ausgeliefert werden und wie die Nutzer wahrscheinlich reagieren werden.
Denken Sie daran, die Aktion bei der Auslieferung einer Interstitial-Anzeige zu pausieren.
Es gibt verschiedene Arten von Interstitial-Anzeigen: Textanzeigen, Bildanzeigen, Videoanzeigen und mehr. Wenn in Ihrer App eine Interstitial-Anzeige eingeblendet wird, muss auch die Nutzung einiger Ressourcen ausgesetzt werden, damit sie von der Anzeige genutzt werden kann. Wenn Sie beispielsweise den Aufruf zur Auslieferung einer Interstitial-Anzeige starten, muss die Audioausgabe Ihrer App pausiert werden. Sie können die Tonwiedergabe im Event-Handler onAdClosed() fortsetzen, der ausgelöst wird, wenn der Nutzer mit der Anzeige interagiert hat. Außerdem können Sie intensive Rechenaufgaben (z. B. eine Spielschleife) vorübergehend unterbrechen, während die Anzeige eingeblendet wird. Dadurch wird verhindert, dass der Nutzer langsame oder nicht reagierende Grafiken oder ruckelige Videos wahrnimmt.
Ausreichende Ladezeit
Achten Sie darauf, dass Interstitial-Anzeigen zum richtigen Zeitpunkt ausgeliefert werden. Außerdem muss der Nutzer nicht warten müssen, bis er geladen wurde. Wenn Sie die Anzeige vorab laden, indem Sie loadAd() aufrufen, bevor Sie show() aufrufen, kann sichergestellt werden, dass Ihre App eine vollständig geladene Interstitial-Anzeige enthält, wenn eine solche Anzeige ausgeliefert werden kann.
Überfluten Sie den Nutzer nicht mit Anzeigen.
Die Steigerung der Häufigkeit von Interstitial-Anzeigen in der App mag zwar eine hervorragende Möglichkeit zur Steigerung des Umsatzes sein, kann jedoch die Nutzerfreundlichkeit und die Klickrate verbessern. Achten Sie darauf, dass Nutzer nicht so häufig unterbrochen werden, dass sie Ihre App nicht mehr verwenden können.

Weitere Informationen

Beispiele

Erfolgsgeschichten