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

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

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

Предварительные условия

Всегда тестируйте с помощью тестовых объявлений

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

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

/6499/example/interstitial

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

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

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

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

Джава

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

public class MainActivity extends Activity {

  private AdManagerInterstitialAd mAdManagerInterstitialAd;
  private static final String TAG = "MainActivity";

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

    AdManagerAdRequest adRequest = new AdManagerAdRequest.Builder().build();

    AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest,
        new AdManagerInterstitialAdLoadCallback() {
      @Override
      public void onAdLoaded(@NonNull AdManagerInterstitialAd interstitialAd) {
        // The mAdManagerInterstitialAd reference will be null until
        // an ad is loaded.
        mAdManagerInterstitialAd = interstitialAd;
        Log.i(TAG, "onAdLoaded");
      }

      @Override
      public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        // Handle the error
        Log.d(TAG, loadAdError.toString());
        mAdManagerInterstitialAd = null;
      }
    });
  }
}

Котлин

import com.google.android.gms.ads.admanager.AdManagerInterstitialAd;
import com.google.android.gms.ads.admanager.AdManagerInterstitialAdLoadCallback;

class MainActivity : AppCompatActivity() {

  private var mAdManagerInterstitialAd: AdManagerInterstitialAd? = null
  private final val TAG = "MainActivity"

    override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_main)

      var adRequest = AdManagerAdRequest.Builder().build()

      AdManagerInterstitialAd.load(this,"/6499/example/interstitial", adRequest, object : AdManagerInterstitialAdLoadCallback() {
        override fun onAdFailedToLoad(adError: LoadAdError) {
          Log.d(TAG, adError?.toString())
          mAdManagerInterstitialAd = null
        }

        override fun onAdLoaded(interstitialAd: AdManagerInterstitialAd) {
          Log.d(TAG, 'Ad was loaded.')
          mAdManagerInterstitialAd = interstitialAd
        }
      })
    }
}

Установите FullScreenContentCallback.

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

Джава

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

  @Override
  public void onAdFailedToShowFullScreenContent(AdError adError) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.");
    mAdManagerInterstitialAd = 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.");
  }
});

Котлин

mAdManagerInterstitialAd?.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.")
    mAdManagerInterstitialAd = null
  }

  override fun onAdFailedToShowFullScreenContent(adError: AdError?) {
    // Called when ad fails to show.
    Log.e(TAG, "Ad failed to show fullscreen content.")
    mAdManagerInterstitialAd = 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 (mAdManagerInterstitialAd != null) {
  mAdManagerInterstitialAd.show(MyActivity.this);
} else {
  Log.d("TAG", "The interstitial ad wasn't ready yet.");
}

Котлин

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

Некоторые лучшие практики

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

Примеры на GitHub

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