Reklamy pełnoekranowe

Reklamy pełnoekranowe zakrywają interfejs aplikacji, w której się wyświetlają. Wyświetlają się zwykle 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 zamknąć ją i wrócić do aplikacji. Studium przypadku.

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

Wymagania wstępne

Zawsze testuj za pomocą reklam testowych

Podczas tworzenia i testowania aplikacji używaj reklam testowych, a nie aktywnych wersji produkcyjnej. Jeśli tego nie zrobisz, Twoje konto może zostać zawieszone.

Najłatwiejszym sposobem wczytywania reklam testowych jest użycie dedykowanego identyfikatora testowej jednostki reklamowej na potrzeby reklam pełnoekranowych na Androida:

ca-app-pub-3940256099942544/1033173712

Został on specjalnie skonfigurowany tak, aby zwracał reklamy testowe w przypadku każdego żądania. Możesz go używać w swoich aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, by przed opublikowaniem aplikacji zastąpić go identyfikatorem jednostki reklamowej.

Więcej informacji o działaniu reklam testowych z pakietem SDK do reklam mobilnych znajdziesz w artykule Reklamy testowe.

Wczytywanie reklamy

Aby wczytać reklamę pełnoekranową, wywołaj metodę InterstitialAdstatyczną load() i przekaż metodę InterstitialAdLoadCallback, która pozwoli otrzymać załadowaną reklamę lub ewentualne błędy. Zwróć uwagę, że tak jak w przypadku wywołań zwrotnych wczytywania innych formatów, 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;

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

      MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {}
      });
      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 var 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
        }
      })
    }
}

Ustawianie wywołania zwrotnego dla pełnego ekranu

FullScreenContentCallback obsługuje zdarzenia związane z wyświetlaniem InterstitialAd. Zanim wyświetlisz 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 należy wyświetlać podczas naturalnych przerw w korzystaniu z aplikacji. Dobrym przykładem są reklamy pełnoekranowe w grze lub po wykonaniu przez użytkownika zadania. Aby wyświetlać 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 działają najlepiej w aplikacjach z naturalnymi punktami przejścia. Może to być na przykład zakończenie zadania w aplikacji, np. udostępnienie obrazu czy ukończenie poziomu gry. Użytkownik spodziewa się przerwy w działaniu, dlatego łatwo jest wyświetlić reklamę pełnoekranową bez zakłócania wrażeń użytkownika. Zastanów się, na którym etapie przepływu pracy w aplikacji będziesz wyświetlać reklamy pełnoekranowe i jaki użytkownik najprawdopodobniej zareaguje.
Pamiętaj, aby wstrzymać działanie reklamy pełnoekranowej.
Jest wiele różnych typów reklam pełnoekranowych: tekstowe, graficzne, wideo i inne. Ważne jest, aby aplikacja wyświetlająca reklamę pełnoekranową zawieszała zasoby reklamowe, które mogą z nich korzystać. Jeśli na przykład wywołujesz reklamę pełnoekranową, wstrzymaj odtwarzanie dźwięku generowanego przez aplikację.
Zapewnij odpowiedni czas wczytywania.
Reklamy pełnoekranowe muszą się wyświetlać w odpowiednim momencie, ale też nie mogą się wyświetlać użytkownikowi. Wczytuj reklamę z wyprzedzeniem, wywołując metodę load() przed wywołaniem funkcji show(), aby mieć pewność, że Twoja aplikacja ma w pełni wczytaną reklamę pełnoekranową w chwili jej wyświetlenia.
Nie zapełniaj 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 spadek współczynnika klikalności. Upewnij się, że użytkownicy nie muszą przerywać pracy tak często, aby nie mogli już korzystać z aplikacji.

Kod źródłowy

Przykłady na GitHubie

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

Historie sukcesu

Dalsze kroki