Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche einer App verdecken, bis die vom Nutzer geschlossen wurden. Sie werden normalerweise an natürlichen Übergangspunkten in den Ablauf einer App, zum Beispiel zwischen Aktivitäten oder während der Pause zwischen Level in einem Spiel. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, hat der Nutzer die Wahl. um entweder auf die Anzeige zu tippen und zur Ziel-URL zu gelangen, oder sie schließen und zurückkehren. in der App. Fallstudie.
In diesem Leitfaden erfahren Sie, wie Sie Interstitial-Anzeigen in eine iOS-App integrieren.
Vorbereitung
- Google Mobile Ads SDK 8.0.0 oder höher.
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Entwickeln und Testen Ihrer Apps nur Testanzeigen, Live-Produktionsanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Am einfachsten lassen sich Testanzeigen mit unserer Testanzeigenblock-ID laden.
für iOS-Interstitials:
/21775744923/example/interstitial
Sie wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. können Sie es beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Machen Sie einfach ersetzen Sie sie vor dem Veröffentlichen Ihrer App durch Ihre Anzeigenblock-ID.
Weitere Informationen zur Funktionsweise von Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen:
Implementierung
Die wichtigsten Schritte zur Integration von Interstitial-Anzeigen sind:
- Laden Sie eine Anzeige.
- Registrieren Sie sich für Rückrufe.
- Blenden Sie die Anzeige ein und bearbeiten Sie das Prämienereignis.
Anzeige laden
Das Laden einer Anzeige erfolgt mithilfe der statischen
loadWithAdManagerAdUnitID:request:completionHandler:
-Methode für
Klasse GAMInterstitialAd
. Die Lademethode erfordert
Ihre Anzeigenblock-ID, ein GAMRequest
-Objekt und ein
Abschluss-Handler, der aufgerufen wird, wenn das Laden der Anzeige erfolgreich ist oder fehlschlägt. Die
geladenes GAMInterstitialAd
-Objekt wird als
im Abschluss-Handler. Das folgende Beispiel zeigt, wie ein
GAMInterstitialAd
in Ihrem ViewController
-Kurs.
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController {
private var interstitial: GAMInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GAMInterstitialAd.load(
withAdUnitID: "/21775744923/example/interstitial", request: GAMRequest())
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController ()
@property(nonatomic, strong) GAMInterstitialAd *interstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GAMRequest *request = [GAMRequest request];
[GAMInterstitialAd loadWithAdManagerAdUnitID:@"/21775744923/example/interstitial"
request:request
completionHandler:^(GAMInterstitialAd *ad, NSError *error) {
if (error) {
NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
return;
}
self.interstitial = ad;
}];
}
Für Rückrufe registrieren
Um Benachrichtigungen über Präsentationsereignisse zu erhalten, müssen Sie
das Protokoll GADFullScreenContentDelegate
und weisen Sie es dem
fullScreenContentDelegate
-Eigenschaft der zurückgegebenen Anzeige an. Die
Das GADFullScreenContentDelegate
-Protokoll verarbeitet Rückrufe, wenn die Anzeige
erfolgreich oder nicht erfolgreich präsentiert und wenn sie geschlossen wird. Die folgenden
Code veranschaulicht, wie das Protokoll implementiert und der Anzeige zugewiesen wird:
Swift
import GoogleMobileAds
import UIKit
class ViewController: UIViewController, GADFullScreenContentDelegate {
private var interstitial: GAMInterstitialAd?
override func viewDidLoad() {
super.viewDidLoad()
do {
interstitial = try await GAMInterstitialAd.load(
withAdUnitID: "/21775744923/example/interstitial", request: GAMRequest())
interstitial?.fullScreenContentDelegate = self
} catch {
print("Failed to load interstitial ad with error: \(error.localizedDescription)")
}
}
/// Tells the delegate that the ad failed to present full screen content.
func ad(_ ad: GADFullScreenPresentingAd, didFailToPresentFullScreenContentWithError error: Error) {
print("Ad did fail to present full screen content.")
}
/// Tells the delegate that the ad will present full screen content.
func adWillPresentFullScreenContent(_ ad: GADFullScreenPresentingAd) {
print("Ad will present full screen content.")
}
/// Tells the delegate that the ad dismissed full screen content.
func adDidDismissFullScreenContent(_ ad: GADFullScreenPresentingAd) {
print("Ad did dismiss full screen content.")
}
}
Objective-C
@import GoogleMobileAds;
@import UIKit;
@interface ViewController () <GADFullScreenContentDelegate>
@property(nonatomic, strong) GAMInterstitialAd *interstitial;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
GAMRequest *request = [GAMRequest request];
[GAMInterstitialAd loadWithAdManagerAdUnitID:@"/21775744923/example/interstitial"
request:request
completionHandler:^(GAMInterstitialAd *ad, NSError *error) {
if (error) {
NSLog(@"Failed to load interstitial ad with error: %@", [error localizedDescription]);
return;
}
self.interstitial = ad;
self.interstitial.fullScreenContentDelegate = self;
}];
}
/// Tells the delegate that the ad failed to present full screen content.
- (void)ad:(nonnull id<GADFullScreenPresentingAd>)ad
didFailToPresentFullScreenContentWithError:(nonnull NSError *)error {
NSLog(@"Ad did fail to present full screen content.");
}
/// Tells the delegate that the ad will present full screen content.
- (void)adWillPresentFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad {
NSLog(@"Ad will present full screen content.");
}
/// Tells the delegate that the ad dismissed full screen content.
- (void)adDidDismissFullScreenContent:(nonnull id<GADFullScreenPresentingAd>)ad {
NSLog(@"Ad did dismiss full screen content.");
}
GAMInterstitialAd
ist ein Objekt zur einmaligen Verwendung. Dieses
Sobald eine Interstitial-Anzeige ausgeliefert wurde, kann sie nicht mehr ausgeliefert werden. Ein bester
das Laden einer weiteren Interstitial-Anzeige
adDidDismissFullScreenContent:
-Methode für GADFullScreenContentDelegate
, sodass
wird die nächste Interstitial-Anzeige geladen, sobald die vorherige
geschlossen.
Anzeige einblenden
Interstitials sollten in natürlichen Pausen einer App eingeblendet werden.
Ein gutes Beispiel ist zwischen den Leveln eines Spiels oder nachdem der Nutzer eine Aufgabe abgeschlossen hat.
Hier ist ein Beispiel dafür, wie dies in einer der Aktionsmethoden
UIViewController
:
Swift
guard let interstitial = interstitial else {
return print("Ad wasn't ready.")
}
// The UIViewController parameter is an optional.
interstitial.present(fromRootViewController: nil)
Objective-C
if (self.interstitial) {
// The UIViewController parameter is nullable.
[self.interstitial presentFromRootViewController:nil];
} else {
NSLog(@"Ad wasn't ready");
}
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. Das Abschließen einer Aufgabe in einer App, z. B. das Teilen eines Bildes oder das Ausführen einer ein solches Level schaffen. Da der Nutzer eine Pause im können Sie eine Interstitial-Anzeige präsentieren, ohne die Nutzererfahrung. Überlegen Sie genau, an welchen Stellen im Workflow Ihrer App Sie Display-Interstitial-Anzeigen und die Wahrscheinlichkeit, dass der Nutzer darauf reagiert.
- Pausieren Sie die Aktion, wenn eine Interstitial-Anzeige eingeblendet wird.
- Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild-,
Video und mehr. Wenn in Ihrer App ein
Interstitial-Anzeige aktiviert, setzt sie auch die Nutzung einiger Ressourcen aus, damit die Anzeige
und sie für sich zu nutzen. Wenn Sie beispielsweise die Anzeige eines
Interstitial-Anzeige verwenden, unterbrechen Sie die Audioausgabe in Ihrer App.
Du kannst die Tonwiedergabe fortsetzen in der
adDidDismissFullScreenContent:
Event-Handler, der aufgerufen wird, wenn der Nutzer die Interaktion beendet hat mit der Anzeige. Außerdem sollten Sie intensive Berechnungen vorübergehend anhalten. (z. B. eine Spielschleife), während die Anzeige eingeblendet wird. Dadurch wird sichergestellt, dass der Nutzer keine langsame oder nicht reagierende Grafik oder ruckelige Grafik aufweist . - Achten Sie auf eine ausreichende Ladezeit.
- Die Interstitial-Anzeigen sollten Zeit haben, ist es auch wichtig, sicherzustellen, dass die Nutzenden warten Sie, bis sie geladen sind. Laden Sie die Anzeige im Voraus, bevor sie ausgeliefert werden soll damit in Ihrer App eine vollständig geladene Interstitial-Anzeige bereitsteht, wird es Zeit, einen zu präsentieren.
- Überschwemmen Sie Nutzer nicht mit Anzeigen.
- Es mag auf den ersten Blick scheinen, die Häufigkeit von Interstitial-Anzeigen in Ihrer App zu erhöhen. eine gute Möglichkeit, den Umsatz zu steigern, kann auch die Nutzererfahrung beeinträchtigen. und niedrigere Klickraten. Achten Sie darauf, dass Nutzende nicht so häufig wurde unterbrochen, dass sie deine App nicht mehr nutzen können.
- Verwenden Sie nicht den Callback für den Abschluss des Ladevorgangs, um die Interstitial-Anzeige auszuliefern.
- Dies kann zu einer schlechten Nutzererfahrung führen. Laden Sie die Anzeige stattdessen im Voraus,
um sie anzuzeigen. Prüfen Sie dann die Methode
canPresentFromRootViewController:error:
amGAMInterstitialAd
, um herauszufinden, angezeigt.
Beispiele auf GitHub
- Beispiel für Interstitial-Anzeigen: Swift | Objective-C
Nächste Schritte
- Weitere Informationen zur Anzeigenausrichtung und Richtlinien für Interstitial-Anzeigen.
- Weitere Informationen zum Datenschutz für Nutzer