Reklamy pełnoekranowe zakrywają interfejs aplikacji, w której się wyświetlają. Zwykle wyświetlają się w naturalnych momentach przejściowych w aplikacji, np. między działaniami lub podczas przerwy między poziomami gry. Gdy aplikacja wyświetla reklamę pełnoekranową, użytkownik może ją kliknąć i przejść do miejsca docelowego, lub ją zamknąć i wrócić do aplikacji.
Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacją na Androida.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 19.7.0 lub nowszej.
- Wykonaj czynności opisane w przewodniku dla początkujących.
Zawsze korzystaj z reklam testowych
Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie aktywnych reklam produkcyjnych. Jeśli tego nie zrobisz, Twoje konto może zostać zawieszone.
Najprostszym sposobem wczytywania reklam testowych jest użycie naszego dedykowanego testowego identyfikatora jednostki reklamowej dla reklam pełnoekranowych na Androida:
/6499/example/interstitial
Został on specjalnie skonfigurowany tak, aby zwracał reklamy testowe w odpowiedzi na każde żądanie. Możesz go używać we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, by przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.
Więcej informacji o działaniu reklam testowych z pakietu SDK do reklam mobilnych znajdziesz w artykule Reklamy testowe.
Wczytaj reklamę
Aby wczytać reklamę pełnoekranową, wywołaj metodę AdManagerInterstitialAd
load()
i przekaż w nim AdManagerInterstitialAdLoadCallback
, co pozwoli otrzymać załadowaną reklamę lub ewentualne błędy. Zwróć uwagę, że tak jak w przypadku wywołań zwrotnych wczytywania innego formatu, AdManagerInterstitialAdLoadCallback
korzysta z metody LoadAdError
, aby podawać dokładniejsze informacje o błędach.
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
}
})
}
}
Ustaw wywołanie zwrotne zawartości pełnego ekranu
FullScreenContentCallback
obsługuje zdarzenia związane z wyświetlaniem InterstitialAd
. Zanim wyświetlisz element InterstitialAd
, skonfiguruj wywołanie zwrotne:
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.")
}
}
Wyświetl reklamę
Reklamy pełnoekranowe powinny wyświetlać się podczas naturalnych przerw w korzystaniu z aplikacji.
Dobrym przykładem są przejścia między poziomami gry lub po wykonaniu przez użytkownika zadania.
Aby wyświetlić reklamę pełnoekranową, użyj metody 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.")
}
Kilka sprawdzonych metod
- Zastanów się, czy reklamy pełnoekranowe to odpowiedni typ reklamy do Twojej aplikacji.
- Reklamy pełnoekranowe sprawdzają się najlepiej w aplikacjach z naturalnymi momentami przejściowymi. Takie zakończenie stanowi zakończenie zadania w aplikacji, np. udostępnienie obrazu czy ukończenie poziomu w grze. Zastanów się, w których momentach interfejsu aplikacji będziesz wyświetlać reklamy pełnoekranowe i jak najprawdopodobniej na nie odpowie użytkownik.
- Pamiętaj, aby wstrzymać działanie podczas wyświetlania reklamy pełnoekranowej.
- Jest wiele różnych typów reklam pełnoekranowych: tekstowe, graficzne, wideo i inne. Ważne jest, by aplikacja, która wyświetla reklamę pełnoekranową, zawieszała wykorzystanie pewnych zasobów, by mogła je wykorzystać w aplikacji. Jeśli np. wywołujesz reklamę pełnoekranową, wstrzymaj odtwarzanie dźwięku generowanego przez aplikację.
- Zadbaj o odpowiedni czas wczytywania.
- Reklamy pełnoekranowe muszą być wyświetlane w odpowiednim czasie, ale nie tylko w których przypadku użytkownik nie musi czekać, aż się załaduje. Wczytaj reklamę z wyprzedzeniem, wywołując metodę
load()
przed wywołaniemshow()
, aby mieć pewność, że Twoja aplikacja będzie mieć w pełni wczytaną reklamę pełnoekranową w chwili wyświetlenia. - Nie zasyp użytkowników reklamami.
- Zwiększenie częstotliwości wyświetlania reklam pełnoekranowych w aplikacji może wydawać się świetnym sposobem na zwiększenie przychodów, ale może też pogorszyć wrażenia użytkowników i obniżyć współczynniki klikalności. Zadbaj o to, aby użytkownicy nie przeszkadzali im tak często, że nie będą mogli z niej korzystać.
Przykłady na GitHubie
Dalsze kroki
- Dowiedz się więcej o kierowaniu reklam.
- Dowiedz się więcej o prywatności użytkownika.
- Poznaj inicjowanie i wczytywanie reklam zoptymalizowanego pakietu SDK (beta).