Reklamy pełnoekranowe

Reklamy pełnoekranowe wyświetlają się w interfejsie aplikacji hosta. Są zwykle wyświetlane 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ąć, aby przejść do miejsca docelowego, lub ją zamknąć, i wrócić do aplikacji. Studium przypadku

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.
  • Postępuj zgodnie z przewodnikiem dla początkujących, aby zaimportować pakiet SDK do reklam mobilnych Google i zaktualizować plik manifestu Androida.

Zawsze testuj z reklamami testowymi

Tworząc i testując aplikacje, upewnij się, że korzystasz z reklam testowych, a nie z aktywnych reklam produkcyjnych. W przeciwnym razie możemy zawiesić Twoje konto.

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

ca-app-pub-3940256099942544/1033173712

Została ona specjalnie skonfigurowana pod kątem zwracania reklam testowych dla każdego żądania. Możesz używać jej we własnych aplikacjach podczas programowania, testowania i debugowania. Wystarczy, że zastąpisz go identyfikatorem jednostki reklamowej przed opublikowaniem aplikacji.

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

Wczytywanie reklamy

Aby wczytać reklamę pełnoekranową, wywołaj metodę InterstitialAd static load() i przekaż ją InterstitialAdLoadCallback, aby otrzymać wczytaną reklamę lub jakiekolwiek możliwe błędy. Jak w przypadku innych formatów wywołań zwrotnych w formacie InterstitialAdLoadCallback LoadAdError wykorzystuje się do przekazywania błędów wierności.

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
        }
      })
    }
}

Ustaw wywołanie zwrotne FullFullContent

FullScreenContentCallback obsługuje zdarzenia związane z wyświetlaniem elementu InterstitialAd. Zanim wyświetlisz wywołanie InterstitialAd, ustaw 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 wyświetlaniu aplikacji. Dobrym przykładem jest poziom gry czy użytkownik wykonuje zadanie. 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.")
}

Sprawdzone metody

Zastanów się, czy reklamy pełnoekranowe to odpowiedni typ reklam dla Twojej aplikacji.
Reklamy pełnoekranowe najlepiej sprawdzają się w aplikacjach z naturalnymi momentami przejściowymi. Przykładem może być ukończenie zadania w aplikacji, na przykład udostępnienie zdjęcia lub ukończenie poziomu w grze. Użytkownik oczekuje, że spodziewa się przerwy w działaniu, dlatego może łatwo wyświetlić reklamę pełnoekranową, nie przeszkadzając mu. Zastanów się, w których częściach przepływu pracy w Twojej aplikacji będą się wyświetlać reklamy pełnoekranowe i jaki będzie ten reakcja użytkowników.
Pamiętaj, żeby wstrzymać to działanie podczas wyświetlania reklamy pełnoekranowej.
Jest wiele rodzajów reklam pełnoekranowych: tekstowe, graficzne, wideo itd. Ważne jest, aby gdy aplikacja wyświetla reklamę pełnoekranową, aplikacja zostanie zawieszona i nie będzie dłużej wykorzystywana przez niektóre zasoby. Jeśli na przykład wywołujesz reklamę pełnoekranową, pamiętaj, by wstrzymać odtwarzanie audio generowane przez aplikację.
Zapewnij wystarczający czas wczytywania.
Podobnie jak w przypadku reklam pełnoekranowych ważne jest, by wyświetlały się one we właściwym momencie. Ważne jest też, aby mieć pewność, że użytkownik nie będzie musiał czekać, aż się załaduje. Wczytując reklamę z wyprzedzeniem przez wywołanie load() przed wywołaniem show(), możesz mieć pewność, że aplikacja wyświetli w pełni wczytaną reklamę pełnoekranową, gdy będzie to możliwe.
Nie wypełniaj reklamami reklamami.
Zwiększenie częstotliwości reklam pełnoekranowych w Twojej aplikacji może wydawać się świetnym sposobem na zwiększenie przychodów, ale może też obniżyć komfort użytkowników i obniżyć współczynnik klikalności. Zadbaj o to, by użytkownicy nie przerywali działania aplikacji zbyt często i nie mogli z niej korzystać.

Kod źródłowy

Przykłady na GitHub

Historie sukcesów

Następne kroki