Bild-im-Bild-Anzeigen (BiB) werden in einem schwebenden Fenster eingeblendet, das über dem Inhalt auf dem Bildschirm, z. B. Artikeln, Feeds oder Gameplay, angezeigt wird. Bei diesem Format können Nutzer mit Ihrer App interagieren, während die Anzeige sichtbar bleibt. Wählen Sie dieses Format aus, um Anzeigen zu präsentieren, die nicht den gesamten Bildschirm einnehmen. Weitere Informationen zu Bild-im-Bild-Anzeigen
In diesem Leitfaden wird beschrieben, wie Sie mit Google Mobile Ads Unity Plugin Bild-im-Bild-Anzeigen in Ihrer App anfordern und anzeigen.
Hinweis
Bevor Sie fortfahren, führen Sie die folgenden Schritte aus:
Installieren Sie die Google Mobile Ads Unity Plugin-Version
11.6.0oder höher.
- Installieren Sie GMA Next-Gen SDK für Android-Apps.
Aktivieren Sie Testanzeigen und verwenden Sie die folgenden Testanzeigenblock-IDs:
Android
ca-app-pub-3940256099942544/9657123429iOS
ca-app-pub-3940256099942544/8810945611
Anzeige laden
Wenn Sie ein PictureInPictureAd-Objekt laden möchten, erstellen Sie eine Anzeigenanfrage und rufen Sie die Methode „load“ auf:
Ersetzen Sie _adUnitId durch die ID Ihres Anzeigenblocks.
Anzeige einblenden
Rufen Sie die Methode „show“ auf, um die Bild-im-Bild-Anzeige auf dem Bildschirm einzublenden. Im folgenden Beispiel wird die Anzeige an der Standardposition eingeblendet:
public void ShowPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(); } else { Debug.Log("No ad to show."); } }
Position festlegen
Standardmäßig wird in Google Mobile Ads Unity Plugin eine Bild-im-Bild-Anzeige unten rechts auf dem Bildschirm angezeigt, wenn sie zum ersten Mal eingeblendet wird, oder an der zuletzt bekannten Position, wenn sie bereits eingeblendet wurde. Wenn Sie die Position der Anzeige anpassen möchten, geben Sie beim Einblenden der Anzeige eine Position an. Im folgenden Beispiel wird die Position über dem Inhalt in der oberen linken Ecke des Bildschirms festgelegt:
public void ShowPictureInPictureAdTopLeft() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(PictureInPictureAdPosition.TopLeft); } else { Debug.Log("No ad to show."); } }
Alle verfügbaren Positionen finden Sie unter PictureInPictureAdPosition.
Auf Anzeigenereignisse warten
Wenn Sie Lifecycle-Events für Bild-im-Bild-Anzeigen verarbeiten möchten, müssen Sie sich vor der Auslieferung der Anzeige für Anzeigenereignisse registrieren. Diese Ereignisse melden Anzeigeninteraktionen wie Klicks und Impressionen. Diese Ereignisse melden auch Bild-im-Bild-spezifische Ereignisse, z. B. wenn die Anzeige ein- oder ausgeblendet wird:
private void RegisterEventHandlers(PictureInPictureAd ad) { // Raised when the ad is estimated to have earned money. ad.OnAdPaid += (AdValue adValue) => { Debug.Log($"Picture-in-picture ad paid: {adValue.Value} {adValue.CurrencyCode}"); }; // Raised when an impression is recorded for an ad. ad.OnAdImpressionRecorded += () => { Debug.Log("Picture-in-picture ad recorded an impression."); }; // Raised when a click is recorded for an ad. ad.OnAdClicked += () => { Debug.Log("Picture-in-picture ad recorded a click."); }; // Raised when the picture-in-picture ad is displayed on the screen. ad.OnAdShown += () => { Debug.Log("Picture-in-picture ad shown."); }; // Raised when the picture-in-picture ad is hidden from the screen. ad.OnAdHidden += () => { Debug.Log("Picture-in-picture ad hidden."); }; // Raised when an ad opened full screen content. ad.OnAdFullScreenContentOpened += () => { Debug.Log("Picture-in-picture ad opened full screen content."); }; // Raised when the ad closed full screen content. ad.OnAdFullScreenContentClosed += () => { Debug.Log("Picture-in-picture ad closed full screen content."); }; // Raised when the ad failed to open full screen content. ad.OnAdFullScreenContentFailed += (AdError error) => { Debug.LogWarning( "Picture-in-picture ad failed to open full screen " + "content: " + error); }; }
Anzeige ausblenden
Wenn Sie die Floating-Anzeige vom Bildschirm entfernen möchten, rufen Sie die Methode „hide“ auf. Diese Methode ruft das Ereignis „Anzeige ausgeblendet“ auf:
public void HidePictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Hide(); } else { Debug.Log("No ad to hide."); } }
Anzeigenressourcen bereinigen
Um Speicherlecks zu vermeiden, sollten Sie den Verweis auf das Anzeigenobjekt löschen, wenn die Anzeige in Ihrer App nicht mehr verwendet wird. Beispielsweise, wenn Ihre App die Anzeige nicht mehr darstellt oder nicht mehr mit ihr interagiert:
public void DestroyPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Destroy(); _pictureInPictureAd = null; } }