Interstitial-Anzeigen sind Vollbildanzeigen, die die Benutzeroberfläche ihrer Host-App verdecken. Sie werden normalerweise an natürlichen Übergangspunkten innerhalb einer App eingeblendet, z. B. zwischen Aktivitäten oder während der Pause zwischen den Levels eines Spiels. Wenn in einer App eine Interstitial-Anzeige eingeblendet wird, kann der Nutzer entweder auf die Anzeige tippen und zu ihrem Ziel wechseln oder sie schließen und zur App zurückkehren.
In diesem Leitfaden wird erläutert, wie Interstitial-Anzeigen in eine Android-App eingebunden werden.
Voraussetzungen
- Google Mobile Ads SDK 19.7.0 oder höher.
- Arbeiten Sie den Startleitfaden durch.
Immer mit Testanzeigen testen
Verwenden Sie beim Erstellen und Testen Ihrer Apps Testanzeigen und keine Liveanzeigen. Andernfalls kann Ihr Konto gesperrt werden.
Die einfachste Methode zum Laden von Testanzeigen ist die Verwendung unserer speziellen Test-ID für Anzeigenblöcke für Android-Interstitials:
/6499/example/interstitial
Er wurde speziell so konfiguriert, dass bei jeder Anfrage Testanzeigen zurückgegeben werden. Sie können ihn beim Programmieren, Testen und Debuggen kostenlos in Ihren eigenen Apps verwenden. Ersetzen Sie sie einfach durch Ihre eigene Anzeigenblock-ID, bevor Sie Ihre App veröffentlichen.
Weitere Informationen zur Funktionsweise der Testanzeigen des Mobile Ads SDK finden Sie unter Testanzeigen.
Anzeige laden
Wenn Sie eine Interstitial-Anzeige laden möchten, rufen Sie die statische AdManagerInterstitialAd
-Methode load()
auf und übergeben Sie ein AdManagerInterstitialAdLoadCallback
-Objekt, um die geladene Anzeige oder mögliche Fehler zu erhalten. Hinweis: Wie bei anderen Callbacks für das Laden von Formaten verwendet AdManagerInterstitialAdLoadCallback
LoadAdError
, um Fehlerdetails in höherer Genauigkeit zu liefern.
Java
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
public class MainActivity extends Activity {
private AdManagerInterstitialAd mAdManagerInterstitialAd;
private static final String TAG = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();
AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest,
new AdManagerInterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
// The mAdManagerInterstitialAd reference will be null until
// an ad is loaded.
mAdManagerInterstitialAd = interstitialAd;
Log.i(TAG, "onAdLoaded");
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
Log.d(TAG, loadAdError.toString());
mAdManagerInterstitialAd = null;
}
});
}
}
Kotlin
import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;
class MainActivity : AppCompatActivity() {
private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
private final val TAG = "MainActivity"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
var adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
override fun onAdFailedToLoad(adError: LoadAdError) {
Log.d(TAG, adError?.toString())
mAdManagerInterstitialAd = null
}
override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
Log.d(TAG, 'Ad was loaded.')
mAdManagerInterstitialAd = interstitialAd
}
})
}
}
FullScreenContentCallback festlegen
Der FullScreenContentCallback
verarbeitet Ereignisse, die das Anzeigen von InterstitialAd
betreffen. Bevor InterstitialAd
angezeigt wird, muss der Callback festgelegt werden:
Java
mAdManagerInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.");
}
@Override
public void onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
// Set the ad reference to null so you don't show the ad a second time.
Log.d(TAG, "Ad dismissed fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.");
mAdManagerInterstitialAd = null;
}
@Override
public void onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.");
}
});
Kotlin
mAdManagerInterstitialAd?.fullScreenContentCallback = object: FullScreenContentCallback() {
override fun onAdClicked() {
// Called when a click is recorded for an ad.
Log.d(TAG, "Ad was clicked.")
}
override fun onAdDismissedFullScreenContent() {
// Called when ad is dismissed.
Log.d(TAG, "Ad dismissed fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
// Called when ad fails to show.
Log.e(TAG, "Ad failed to show fullscreen content.")
mAdManagerInterstitialAd = null
}
override fun onAdImpression() {
// Called when an impression is recorded for an ad.
Log.d(TAG, "Ad recorded an impression.")
}
override fun onAdShowedFullScreenContent() {
// Called when ad is shown.
Log.d(TAG, "Ad showed fullscreen content.")
}
}
Anzeige einblenden
Interstitial-Anzeigen sollten während natürlicher Pausen im App-Ablauf eingeblendet werden. Ein gutes Beispiel dafür sind zwischen den Levels eines Spiels oder nachdem der Nutzer eine Aufgabe abgeschlossen hat.
Verwenden Sie zum Einblenden eines Interstitials die Methode show()
.
Java
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd.show(MyActivity.this);
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.");
}
Kotlin
if (mAdManagerInterstitialAd != null) {
mAdManagerInterstitialAd?.show(this)
} else {
Log.d("TAG", "The interstitial ad wasn't ready yet.")
}
Einige Best Practices
- Überlegen Sie, ob Interstitial-Anzeigen der richtige Typ für Ihre App sind.
- Interstitial-Anzeigen funktionieren am besten in Apps mit natürlichen Übergangspunkten. Der Abschluss einer Aufgabe in einer App, z. B. das Teilen eines Bildes oder der Abschluss eines Levels in einem Spiel, schafft einen solchen Punkt. Sie sollten sich überlegen, an welchen Stellen im Workflow Ihrer App Interstitial-Anzeigen ausgeliefert werden und wie der Nutzer wahrscheinlich darauf reagieren wird.
- Denken Sie daran, die Aktion beim Ausliefern einer Interstitial-Anzeige zu pausieren.
- Es gibt verschiedene Arten von Interstitial-Anzeigen: Text-, Bild- und Videoanzeigen. Wenn in Ihrer App Interstitial-Anzeigen eingeblendet werden, dürfen auch einige Ressourcen nicht mehr genutzt werden, damit diese von der Anzeige genutzt werden können. Wenn Sie beispielsweise die Auslieferung einer Interstitial-Anzeige aufrufen, müssen Sie die Audioausgabe Ihrer App pausieren.
- Warten Sie ausreichend lange.
- Interstitial-Anzeigen sollten zum richtigen Zeitpunkt eingeblendet werden und Nutzer müssen nicht warten, bis sie geladen sind. Wenn Sie die Anzeige vorab laden, indem Sie vor dem Aufruf von
show()
load()
aufrufen, wird sichergestellt, dass in Ihrer App zum Zeitpunkt der Auslieferung eine vollständig geladene Interstitial-Anzeige verfügbar ist. - Überfluten Sie den Nutzer nicht mit Werbung.
- Das Erhöhen der Häufigkeit von Interstitial-Anzeigen in Ihrer App scheint eine gute Möglichkeit zur Umsatzsteigerung zu sein. Es kann aber auch die Nutzererfahrung beeinträchtigen und die Klickrate senken. Achte darauf, dass Nutzer nicht so häufig unterbrochen werden, dass sie die Nutzung deiner App nicht mehr nutzen können.
Beispiele auf GitHub
Nächste Schritte
- Informieren Sie sich über die Ausrichtung von Anzeigen.
- Weitere Informationen zum Datenschutz für Nutzer
- Informieren Sie sich über die optimierte SDK-Initialisierung und das Laden von Anzeigen (Beta).