Reklamy pełnoekranowe

Reklamy pełnoekranowe to reklamy pełnoekranowe, które zasłaniają interfejs aplikacji hosta. 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 kliknąć reklamę i przejść do jej miejsca docelowego lub je 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.
  • Wykonaj przewodnik 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 używasz reklam testowych zamiast produkcyjnych. Jeśli tego nie zrobisz, Twoje konto może zostać zawieszone.

Najłatwiejszym sposobem wczytywania reklam testowych jest użycie specjalnego identyfikatora jednostki reklamowej dla reklamy pełnoekranowej z Androidem:

ca-app-pub-3940256099942544/1033173712

Został on specjalnie skonfigurowany pod kątem zwracania reklam testowych dla każdego żądania. Możesz używać go we własnych aplikacjach podczas kodowania, testowania i debugowania. Pamiętaj, aby przed opublikowaniem aplikacji zastąpić go własnym identyfikatorem jednostki reklamowej.

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

Wczytywanie reklamy

Aby wczytać reklamę pełnoekranową, wywołaj metodę InterstitialAd load() i przekaż InterstitialAdLoadCallback jako wczytywaną reklamę lub możliwe błędy. Zwróć uwagę na to, że podobnie jak w przypadku innych wywołań zwrotnych w każdym formacie InterstitialAdLoadCallback wykorzystuje LoadAdError do dostarczania bardziej szczegółowych informacji 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
        }
      })
    }
}

Ustaw wywołanie trybu pełnoekranowego

FullScreenContentCallback obsługuje zdarzenia związane z wyświetlaniem elementu InterstitialAd. Zanim pokażesz 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świetlanie reklamy

Reklamy pełnoekranowe powinny wyświetlać się w naturalnych przerwach w wyświetlaniu aplikacji. Dobrym przykładem jest sytuacja, w której użytkownik gra, po zakończeniu 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.")
}

Sprawdzone metody

Zastanów się, czy reklamy pełnoekranowe są odpowiednie do Twojej aplikacji.
Reklamy pełnoekranowe najlepiej sprawdzają się w aplikacjach z naturalnymi punktami przejścia. W ten sposób kończy się zadanie w aplikacji, np. udostępnienie obrazu lub ukończenie poziomu w grze. Użytkownik spodziewa się przerwy w działaniu, dlatego może łatwo zaprezentować reklamę pełnoekranową bez zakłócania jej działania. Zastanów się, w którym momencie w aplikacji będziesz wyświetlać reklamy pełnoekranowe i w jaki sposób prawdopodobnie zareaguje użytkownik.
Pamiętaj, by wstrzymać działanie reklamy pełnoekranowej.
Jest wiele różnych typów reklam pełnoekranowych: tekstowych, graficznych, wideo i innych. Pamiętaj, że gdy aplikacja wyświetla reklamę pełnoekranową, musi ona zawiesić użycie pewnych zasobów, aby reklama mogła je wykorzystać. Jeśli na przykład wywołujesz reklamę pełnoekranową, pamiętaj, by wstrzymać odtwarzanie dźwięku generowanego przez aplikację.
Zapewnij wystarczający czas wczytywania.
Ważne jest, aby wyświetlać reklamy pełnoekranowe w odpowiednim momencie, tak aby użytkownik nie musiał czekać, aż się załaduje. Wczytanie reklamy z wyprzedzeniem przez wywołanie load() przed wywołaniem show() może zapewnić, że w chwili wyświetlenia reklamy pełnoekranowej w Twojej aplikacji będzie ona gotowa.
Nie zapełniaj reklamy reklamami.
Zwiększenie liczby reklam pełnoekranowych w aplikacji może wydawać się świetnym sposobem na zwiększenie przychodów, ale może też pogorszyć wygodę użytkowników i obniżyć współczynniki klikalności. Dopilnuj, aby użytkownicy nie zakłócali działania aplikacji tak często, że nie mogli już jej używać.

Kod źródłowy

Przykłady w GitHubie

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

Historie sukcesu

Dalsze kroki