cordova-plugin-admob-free: Uncaught (в обещании) Interstitial еще не готов

Я пытаюсь внедрить промежуточную рекламу в мою HTML5-игру, используя cordova-plugin-admob-free.

Я использую это следующим образом:

var ADMOB_AndroidID = (my Admob ID here);
var ADMOB_iOSID     = "";
var ADMOB_WindowsID = "";

document.addEventListener( 'deviceready', initAdmob );

function initAdmob() {
  var admobid = {};
  if ( /(android)/i.test(navigator.userAgent) ) {  // for android & amazon-fireos
    admobid = {
      banner: ADMOB_AndroidID,
      interstitial: ADMOB_AndroidID
    };
  } else if ( /(ipod|iphone|ipad)/i.test(navigator.userAgent) ) {  // for ios
    admobid = {
      banner: ADMOB_iOSID,
      interstitial: ADMOB_iOSID
    };
  } else {  // for windows phone
    admobid = {
      banner: ADMOB_WindowsID,
      interstitial: ADMOB_WindowsID
    };
  }

  admob.interstitial.config({
    id: admobid.interstitial,
    isTesting: true,
    autoShow: false
  })
  admob.interstitial.prepare();

  document.addEventListener('admob.interstitial.events.CLOSE', function(event) {
    admob.interstitial.prepare();
  } );

}

Затем, после окончания игры, я звоню

admob.interstitial.show();

Когда я запускаю его на эмуляторе Android (или на реальном устройстве), ничего не происходит, когда игра заканчивается и отладчик Chrome показывает:

Uncaught (in promise) Interstital not ready yet

Так что я делаю не так?

РЕДАКТИРОВАТЬ: Добавлен скриншот Chrome Console

Моя консоль показывает это (после того, как я добавил EventListener в LOAD_FAIL для внедрения):

Chrome Console

1 ответ

Был и этот.

Понял, что я никогда не звонил

admob.interstitial.prepare();

После добавления все работает.

Это только начало работать без меня, меняющего что-либо. По-видимому, для того, чтобы рекламный блок стал активным после его создания, требуется (достаточно) некоторое время. Таким образом, приведенный выше код работает.

Просто дополнительный совет: я сначала допустил ошибку, используя свой идентификатор приложения вместо идентификатора рекламного блока. Если ваш идентификатор имеет тильду (~) вместо косой черты (/), то вы используете свой идентификатор приложения. Войдите в свою учетную запись AdMob, создайте рекламный блок и используйте вместо этого его идентификатор.

Другие вопросы по тегам