Reklamy pełnoekranowe zakrywają interfejs aplikacji, w której się wyświetlają. Zazwyczaj wyświetlają się w naturalnych punktach przejścia w aplikacji. np. między działaniami lub podczas przerwy między poziomami w grze. Gdy w aplikacji wyświetli się reklama pełnoekranowa, użytkownik może kliknąć reklamę i przejdzie do miejsca docelowego lub zamknij ją i wróć do aplikacji.
Z tego poradnika dowiesz się, jak zintegrować reklamy przejściowe z aplikacją na Androida.
Wymagania wstępne
- Pakiet SDK do reklam mobilnych Google w wersji 19.7.0 lub nowszej.
- Zapoznaj się z przewodnikiem dla początkujących.
Zawsze korzystaj z reklam testowych
Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie reklam produkcyjnych. Jeśli tego nie zrobisz, możemy zawiesić Twoje konto.
Najłatwiejszym sposobem wczytywania reklam testowych jest użycie dedykowanego identyfikatora testowej jednostki reklamowej na potrzeby reklam pełnoekranowych na Androida:
/21775744923/example/interstitial
Został on specjalnie skonfigurowany tak, aby wyświetlać reklamy testowe w odpowiedzi na każde żądanie. do wykorzystania we własnych aplikacjach przy kodowaniu, testowaniu i debugowaniu. Pamiętaj tylko, aby przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.
Więcej informacji o działaniu reklam testowych w pakiecie SDK do reklam mobilnych znajdziesz na stronie Reklamy testowe.
Wczytywanie reklamy
Aby załadować reklamę przejściową, wywołaj stałą metodę AdManagerInterstitialAd
load()
i przekaż obiekt AdManagerInterstitialAdLoadCallback
, aby otrzymać załadowaną reklamę lub ewentualne błędy. Zwróć uwagę, że podobnie jak w przypadku innych formatów wywołań zwrotnych,
AdManagerInterstitialAdLoadCallback
dźwignia
LoadAdError
, aby podać bardziej szczegółowe 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,"/21775744923/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)
val adRequest = AdManagerAdRequest.Builder().build()
AdManagerInterstitialAd.load(this,"/21775744923/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
}
})
}
}
Ustawianie funkcji FullScreenContentCallback
FullScreenContentCallback
obsługuje zdarzenia związane z wyświetlaniem
InterstitialAd
Zanim wyświetlisz 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 jest przechodzenie między poziomami gry lub zakończenie zadania przez użytkownika.
Aby wyświetlić reklamę pełnoekranową, użyj
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.")
}
Sprawdzone metody
- Zastanów się, czy reklamy pełnoekranowe są odpowiednim typem reklamy dla Twojej aplikacji.
- Reklamy pełnoekranowe sprawdzają się najlepiej w aplikacjach z naturalnymi punktami przejściowymi. Zakończenie zadania w aplikacji, np. udostępnienie obrazu lub ukończenie zadania poziom gry, tworzy taki punkt. Zastanów się, w których momentach będziesz wyświetlać reklamy pełnoekranowe i jak prawdopodobne jest, że użytkownik je zobaczy na nie.
- 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 materiały. Upewnij się, że gdy aplikacja wyświetla reklama pełnoekranowa wstrzymuje również korzystanie z niektórych zasobów, aby umożliwić jak je wykorzystać. Na przykład gdy wykonujesz wywołanie dotyczące wyświetlenia reklama pełnoekranowa, pamiętaj o wstrzymaniu wszystkich wyjść audio generowanych przez aplikację.
- Zaplanuj odpowiedni czas wczytywania.
- Podobnie jak w przypadku reklam pełnoekranowych ważne jest, aby wyświetlać je w odpowiednim momencie, ale też trzeba pamiętać, aby użytkownik nie musiał czekać na ich załadowanie. Wczytanie reklamy z wyprzedzeniem przez połączenie telefoniczne
load()
, zanim dzwonisz W aplikacjishow()
pojawi się w pełni wczytana reklama pełnoekranowa gdy nadejdzie czas na ich wyświetlenie. - Nie zasypuj reklam reklamami.
- Zwiększenie częstotliwości wyświetlania reklam pełnoekranowych w aplikacji może się wydawać świetnym sposobem na zwiększenie przychodów, ale może też pogarszać wrażenia użytkowników i niższych współczynnikach klikalności. Zadbaj o to, aby użytkownicy nie byli zbyt często przerywane, ponieważ uniemożliwia im to korzystanie z aplikacji.
Przykłady w GitHubie
Dalsze kroki
- Dowiedz się więcej o kierowaniu reklam.
- Dowiedz się więcej o prywatności użytkowników.
- Poznaj zoptymalizowane inicjowanie i wczytywanie reklam pakietu SDK (beta).