Межстраничные объявления

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
l10n-placeholder17 l10n-placeholder18

Межстраничные объявления — это полноэкранные объявления, которые закрывают интерфейс основного приложения. Обычно они отображаются в естественных точках перехода в потоке приложения, например между действиями или во время паузы между уровнями в игре. Когда приложение показывает межстраничное объявление, у пользователя есть выбор: либо нажать на объявление и перейти к месту назначения, либо закрыть его и вернуться в приложение.пример .

В этом руководстве объясняется, как интегрировать межстраничную рекламу в приложение для Android.

Предпосылки

Всегда тестируйте тестовые объявления

При создании и тестировании своих приложений убедитесь, что вы используете тестовую рекламу, а не живую производственную рекламу. Невыполнение этого требования может привести к приостановке действия вашей учетной записи.

Самый простой способ загрузить тестовые объявления — использовать наш специальный идентификатор тестового рекламного блока для межстраничных объявлений Android:

ca-app-pub-3940256099942544/1033173712

Он был специально настроен для возврата тестовых объявлений для каждого запроса, и вы можете использовать его в своих собственных приложениях при написании кода, тестировании и отладке. Просто убедитесь, что вы заменили его собственным идентификатором рекламного блока, прежде чем публиковать свое приложение.

Дополнительные сведения о том, как работают тестовые объявления Mobile Ads SDK, см. в разделе Тестовые объявления .

Загрузить объявление

Чтобы загрузить промежуточное объявление, вызовите метод статической load() l10n- InterstitialAd и передайте InterstitialAdLoadCallback , чтобы получить загруженное объявление или любые возможные ошибки. Обратите внимание, что, как и другие обратные вызовы загрузки формата, InterstitialAdLoadCallback использует LoadAdError для предоставления более точных сведений об ошибках.

Ява

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

Котлин

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

Установите FullScreenContentCallback

FullScreenContentCallback обрабатывает события, связанные с отображением вашего InterstitialAd . Перед показом InterstitialAd обязательно установите обратный вызов:

Ява

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

Котлин

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

Показать объявление

Межстраничная реклама должна отображаться во время естественных пауз в работе приложения. Хороший пример — между уровнями игры или после того, как пользователь выполнил задачу. Чтобы показать межстраничное объявление, используйте метод show() .

Ява

if (mInterstitialAd != null) {
  mInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Котлин

if (mInterstitialAd != null) {
  mInterstitialAd?.show(this)
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.")
}

Некоторые рекомендации

Подумайте, подходят ли межстраничные объявления для вашего приложения.
Межстраничные объявления лучше всего работают в приложениях с естественными точками перехода. Завершение задачи в приложении, например обмен изображением или прохождение игрового уровня, создает такую ​​точку. Поскольку пользователь ожидает перерыва в действии, легко представить межстраничное объявление, не нарушая его работу. Убедитесь, что вы продумали, на каких этапах рабочего процесса вашего приложения вы будете отображать межстраничные объявления и как пользователь, скорее всего, отреагирует на них.
Не забудьте приостановить действие при отображении межстраничной рекламы.
Существует несколько различных типов межстраничных объявлений: текстовые, графические, видео и другие. Важно убедиться, что когда ваше приложение отображает промежуточную рекламу, оно также приостанавливает использование некоторых ресурсов, чтобы позволить рекламе воспользоваться ими. Например, когда вы выполняете вызов для отображения промежуточной рекламы, обязательно приостановите любой аудиовыход, создаваемый вашим приложением.
Обеспечьте достаточное время загрузки.
Точно так же, как важно убедиться, что вы показываете межстраничные объявления в подходящее время, также важно убедиться, что пользователю не нужно ждать, пока они загрузятся. Предварительная загрузка рекламы путем вызова load() до того, как вы собираетесь вызывать show() , может гарантировать, что ваше приложение будет иметь полностью загруженное межстраничное объявление, когда придет время его отображать.
Не заваливайте пользователя рекламой.
Хотя увеличение частоты межстраничных объявлений в вашем приложении может показаться отличным способом увеличить доход, это также может ухудшить взаимодействие с пользователем и снизить рейтинг кликов. Убедитесь, что пользователей не так часто отвлекают, что они больше не могут получать удовольствие от использования вашего приложения.

Исходный код

Примеры на GitHub

  • Пример межстраничных объявлений: Java | Котлин

Истории успеха

Следующие шаги