Полноэкранная реклама — это полноэкранная реклама, которая закрывает интерфейс основного приложения. Обычно она отображается в естественных переходных точках в процессе работы приложения, например, между действиями или во время паузы между уровнями в игре. Когда приложение показывает полноэкранную рекламу, у пользователя есть выбор: нажать на неё и перейти к нужному месту или закрыть её и вернуться в приложение. Ознакомьтесь с одним из наших кейсов .
В этом руководстве объясняется, как интегрировать полноэкранную рекламу в приложение для Android.
Предпосылки
Всегда проверяйте с помощью тестовых объявлений
При создании и тестировании приложений обязательно используйте тестовые объявления, а не реальные, производственные. В противном случае ваш аккаунт может быть заблокирован.
Самый простой способ загрузить тестовую рекламу — использовать наш специальный идентификатор тестового рекламного блока для полноэкранной рекламы на Android:
ca-app-pub-3940256099942544/1033173712
Он специально настроен для возврата тестовых объявлений при каждом запросе, и вы можете использовать его в своих приложениях при кодировании, тестировании и отладке. Просто убедитесь, что вы заменили его на свой идентификатор рекламного блока перед публикацией приложения.
Дополнительную информацию о работе тестовых объявлений Google Mobile Ads SDK (бета) см. в разделе Тестовые объявления .
Загрузить объявление
Чтобы загрузить рекламное объявление, вызовите статический метод load()
InterstitialAd
и передайте AdLoadCallback<InterstitialAd>
чтобы получить загруженное объявление или любые возможные ошибки.
Котлин
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback
import com.google.android.libraries.ads.mobile.sdk.MobileAds
class InterstitialActivity : Activity() {
private var interstitialAd: InterstitialAd? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
AdRequest.Builder(AD_UNIT_ID).build(),
object : AdLoadCallback<InterstitialAd> {
override fun onAdLoaded(ad: InterstitialAd) {
// Interstitial ad loaded.
interstitialAd = ad
}
override fun onAdFailedToLoad(adError: LoadAdError) {
// Interstitial ad failed to load.
interstitialAd = null
}
},
)
}
companion object {
// Sample interstitial ad unit ID.
const val AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712"
}
}
Ява
import com.google.android.libraries.ads.mobile.sdk.common.AdLoadCallback;
import com.google.android.libraries.ads.mobile.sdk.common.AdRequest;
import com.google.android.libraries.ads.mobile.sdk.common.FullScreenContentError;
import com.google.android.libraries.ads.mobile.sdk.common.LoadAdError;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAd;
import com.google.android.libraries.ads.mobile.sdk.interstitial.InterstitialAdEventCallback;
import com.google.android.libraries.ads.mobile.sdk.MobileAds;
class InterstitialActivity extends Activity {
// Sample interstitial ad unit ID.
private static final String AD_UNIT_ID = "ca-app-pub-3940256099942544/1033173712";
private InterstitialAd interstitialAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load ads after you initialize Google Mobile Ads SDK (beta).
InterstitialAd.load(
new AdRequest.Builder(AD_UNIT_ID).build(),
new AdLoadCallback<InterstitialAd>() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// Interstitial ad loaded.
AdLoadCallback.super.onAdLoaded(interstitialAd);
InterstitialActivity.this.interstitialAd = interstitialAd;
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError adError) {
// Interstitial ad failed to load.
AdLoadCallback.super.onAdFailedToLoad(adError);
interstitialAd = null;
}
}
);
}
}
Установите InterstitialAdEventCallback
Функция InterstitialAdEventCallback
обрабатывает события, связанные с показом вашего объявления InterstitialAd
. Перед показом полноэкранного объявления обязательно установите функцию обратного вызова:
Котлин
// Listen for ad events.
interstitialAd?.adEventCallback =
object : InterstitialAdEventCallback {
override fun onAdShowedFullScreenContent() {
// Interstitial ad did show.
}
override fun onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
interstitialAd = null
}
override fun onAdFailedToShowFullScreenContent(
fullScreenContentError: FullScreenContentError
) {
// Interstitial ad failed to show.
interstitialAd = null
}
override fun onAdImpression() {
// Interstitial ad did record an impression.
}
override fun onAdClicked() {
// Interstitial ad did record a click.
}
}
Ява
// Listen for ad events.
interstitialAd.setAdEventCallback(
new InterstitialAdEventCallback() {
@Override
public void onAdShowedFullScreenContent() {
// Interstitial ad did show.
InterstitialAdEventCallback.super.onAdShowedFullScreenContent();
}
@Override
public void onAdDismissedFullScreenContent() {
// Interstitial ad did dismiss.
InterstitialAdEventCallback.super.onAdDismissedFullScreenContent();
interstitialAd = null;
}
@Override
public void onAdFailedToShowFullScreenContent(
@NonNull FullScreenContentError fullScreenContentError) {
// Interstitial ad failed to show.
InterstitialAdEventCallback.super.onAdFailedToShowFullScreenContent(
fullScreenContentError);
initerstitialAd = null;
}
@Override
public void onAdImpression() {
// Interstitial ad did record an impression.
InterstitialAdEventCallback.super.onAdImpression();
}
@Override
public void onAdClicked() {
// Interstitial ad did record a click.
InterstitialAdEventCallback.super.onAdClicked();
}
}
);
Показывать рекламу
Для показа рекламного объявления используйте метод show()
.
Котлин
// Show the ad.
interstitialAd?.show(this@InterstitialActivity)
Ява
// Show the ad.
interstitialAd.show(InterstitialActivity.this);
Некоторые лучшие практики
- Подумайте, является ли полноэкранная реклама подходящим типом рекламы для вашего приложения.
- Полосатая реклама лучше всего работает в приложениях с естественными точками перехода. Завершение задачи в приложении, например, публикация изображения или прохождение уровня в игре, создаёт такую точку. Обязательно продумайте, на каких этапах рабочего процесса приложения вы будете показывать полноэкранную рекламу и как, скорее всего, отреагирует пользователь.
- Не забудьте приостановить действие при отображении рекламного объявления.
- Существует несколько различных типов полноэкранной рекламы: текстовая, графическая, видео и другие. Важно убедиться, что при отображении полноэкранной рекламы приложение также приостанавливает использование некоторых ресурсов, чтобы реклама могла ими воспользоваться. Например, при вызове полноэкранной рекламы обязательно приостанавливайте воспроизведение звука в приложении.
- Уделите достаточно времени загрузке.
- Важно не только показывать полноэкранную рекламу в подходящее время, но и не допускать необходимости ожидания её загрузки. Предварительная загрузка рекламы путём вызова
load()
до вызова методаshow()
гарантирует, что ваше приложение будет иметь полностью загруженную полноэкранную рекламу, готовую к показу. - Не перегружайте пользователя рекламой.
- Хотя увеличение частоты показа полноэкранной рекламы в вашем приложении может показаться отличным способом увеличить доход, это также может ухудшить пользовательский опыт и снизить CTR. Убедитесь, что пользователи не будут отвлекаться так часто, чтобы не потерять возможность пользоваться вашим приложением.
Пример
Загрузите и запустите пример приложения , демонстрирующий использование Google Mobile Ads SDK (бета-версия).