Reklamy pełnoekranowe

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. Przeczytaj jedno z naszych studiów przypadków.

Z tego przewodnika dowiesz się, jak zintegrować reklamy pełnoekranowe z aplikacją na Androida.

Wymagania wstępne

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:

ca-app-pub-3940256099942544/1033173712

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ę InterstitialAdload() i przekaż w nim InterstitialAdLoadCallback, co pozwoli otrzymać załadowaną reklamę lub ewentualne błędy. Zwróć uwagę, że tak jak w przypadku wywołań zwrotnych wczytywania innego formatu, InterstitialAdLoadCallback korzysta z metody LoadAdError, aby podawać dokładniejsze informacje o błędach.

Java

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private InterstitialAd mInterstitialAd;
  private static final String TAG = "MainActivity";

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    AdRequest adRequest = new AdRequest.Builder().build();

    InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest,
        new InterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        // The mInterstitialAd reference will be null until
        // an ad is loaded.
        mInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mInterstitialAd = null;
      }
    });
  }
}

Kotlin

import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mInterstitialAd: InterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdRequest.Builder().build()

      InterstitialAd.load(this,"ca-app-pub-3940256099942544/1033173712", adRequest, object : InterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: InterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mInterstitialAd = 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

mInterstitialAd.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.");
    mInterstitialAd = null;
  }

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mInterstitialAd = 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

mInterstitialAd?.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.")
    mInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mInterstitialAd = 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 (mInterstitialAd != null) {
  mInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Kotlin

if (mInterstitialAd != null) {
  mInterstitialAd?.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łaniem show(), 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ć.

Kod źródłowy

Przykłady na GitHubie

  • Przykład reklam pełnoekranowych: Java | Kotlin

Historie sukcesu

Dalsze kroki