Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche der Host-App abdecken. Sie werden in der Regel an natürlichen Übergangspunkten innerhalb einer App angezeigt, beispielsweise zwischen Aktivitäten oder in den Pausen zwischen den Levels eines Spiels. Wenn eine App eine Interstitial-Anzeige einblendet, kann der Nutzer entweder auf die Anzeige tippen und zur Zielseite weitergeleitet werden oder die Anzeige schließen und zur App zurückkehren. Lesen Sie eine unserer Fallstudien.
In dieser Anleitung wird beschrieben, wie Sie Interstitial-Anzeigen in eine Android-App einbinden.
Vorbereitung
Immer mit Testanzeigen testen
Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen anstelle von Live-Anzeigen. Andernfalls kann es zur Sperrung Ihres Kontos kommen.
Testanzeigen lassen sich unter Android am einfachsten mit unserer speziellen Test-Anzeigenblock-ID für Interstitials laden:
ca-app-pub-3940256099942544/1033173712
Diese ID ist speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können sie beim Programmieren, Testen und Debuggen in Ihren eigenen Apps verwenden. Ersetzen Sie sie vor der Veröffentlichung Ihrer App einfach durch Ihre eigene Anzeigenblock-ID.
Weitere Informationen zu GMA Next-Gen SDK Testanzeigen finden Sie unter Testanzeigen aktivieren.
Anzeige laden
Zum Laden einer Anzeige bietet GMA Next-Gen SDK folgende Möglichkeiten:
Mit der API zum Laden einzelner Anzeigen.
Mit der API zum Vorabladen von Anzeigen. Dadurch ist kein manuelles Laden und Cachen von Anzeigen mehr erforderlich.
Mit der API zum Laden einzelner Anzeigen
Das folgende Beispiel zeigt, wie Sie eine einzelne Anzeige laden:
Kotlin
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize GMA Next-Gen SDK.
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
Java
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize GMA Next-Gen SDK.
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
Mit der API zum Vorabladen von Anzeigen
So starten Sie das Vorabladen:
Initialisieren Sie eine Konfiguration für das Vorabladen mit einer Anzeigenanfrage.
Starten Sie das Vorabladen für Interstitial-Anzeigen mit Ihrer Anzeigenblock-ID und der Konfiguration für das Vorabladen:
Kotlin
private fun startPreloading(adUnitId: String) {
val adRequest = AdRequest.Builder(adUnitId).build()
val preloadConfig = PreloadConfiguration(adRequest)
InterstitialAdPreloader.start(adUnitId, preloadConfig)
}
Java
private void startPreloading(String adUnitId) {
AdRequest adRequest = new AdRequest.Builder(adUnitId).build();
PreloadConfiguration preloadConfig = new PreloadConfiguration(adRequest);
InterstitialAdPreloader.start(adUnitId, preloadConfig);
}
Anzeigen werden fortlaufend zur Verfügung gestellt, wenn Sie sie einblenden. Im folgenden Beispiel wird eine Anzeige vom Vorabladen abgerufen:
Kotlin
// Polling returns the next available ad and loads another ad in the background.
val ad = InterstitialAdPreloader.pollAd(adUnitId)
Java
// Polling returns the next available ad and loads another ad in the background.
final InterstitialAd ad = InterstitialAdPreloader.pollAd(adUnitId);
InterstitialAdEventCallback festlegen
Mit InterstitialAdEventCallback werden Ereignisse im Zusammenhang mit der Auslieferung von
InterstitialAd verarbeitet. Bevor Sie die Interstitial-Anzeige einblenden, müssen Sie den Callback festlegen:
Kotlin
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
Java
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
Anzeige einblenden
Verwenden Sie die Methode show(), um eine Interstitial-Anzeige einzublenden.
Kotlin
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
Java
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
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. Ein solcher Punkt ist beispielsweise das Ende einer Aufgabe in einer App, etwa wenn ein Bild geteilt oder ein Level in einem Spiel abgeschlossen wird. Überlegen Sie, an welchen Stellen im Workflow Ihrer App Sie Interstitial-Anzeigen einblenden und wie der Nutzer wahrscheinlich reagieren wird.
- Denken Sie daran, die Aktion zu pausieren, wenn Sie eine Interstitial-Anzeige einblenden.
- Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild-, Videoanzeigen und mehr. Wenn Ihre App eine Interstitial-Anzeige einblendet, muss sie auch die Verwendung einiger Ressourcen unterbrechen, damit die Anzeige diese nutzen kann. Wenn Sie beispielsweise die Interstitial-Anzeige einblenden, pausieren Sie die Audioausgabe Ihrer App.
- Planen Sie ausreichend Ladezeit ein.
- Es ist wichtig, Interstitial-Anzeigen zum richtigen Zeitpunkt einzublenden. Außerdem sollte der Nutzer nicht warten müssen, bis sie geladen sind. Wenn Sie die Anzeige vorab laden, indem Sie
load()aufrufen, bevor Sieshow()aufrufen, ist sichergestellt, dass Ihre App eine vollständig geladene Interstitial-Anzeige bereithält, wenn es Zeit ist, sie einzublenden. - Überhäufen Sie die Nutzer nicht mit Anzeigen.
- Die Häufigkeit von Interstitial-Anzeigen in Ihrer App zu erhöhen, mag zwar eine gute Möglichkeit sein, den Umsatz zu steigern, kann aber auch die Nutzerfreundlichkeit beeinträchtigen und die Klickraten senken. Nutzer sollten bei der Verwendung der App nicht so häufig unterbrochen werden, dass sie die Lust verlieren.
Beispiel
Laden Sie die Beispiel-App herunter und führen Sie sie aus, um die Verwendung des GMA Next-Gen SDK zu sehen.