【问题标题】:cordova-plugin-admob-free: Uncaught (in promise) Interstitial not ready yetcordova-plugin-admob-free:未捕获(承诺)插页式尚未准备好
【发布时间】:2019-11-28 22:50:34
【问题描述】:

我正在尝试使用 cordova-plugin-admob-free 在我的 HTML5 游戏中实现插页式广告。

我是这样使用的:

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 控制台的屏幕截图

我的控制台显示了这一点(在我在插页式广告的 LOAD_FAIL 上添加了一个事件监听器之后):

【问题讨论】:

    标签: cordova cordova-admob


    【解决方案1】:

    它刚刚开始工作,我没有改变任何东西。显然,广告单元在创建后需要(相当)一段时间才能激活。所以上面的代码有效。

    只是一个额外的提示:我首先犯了一个错误,使用我的 App ID 而不是 Ad Unit ID。如果您的 ID 有波浪号 (~) 而不是斜线 (/),那么您正在使用您的 App ID。登录到您的 AdMob 帐户,创建一个广告单元,然后使用其 ID。

    【讨论】:

      【解决方案2】:

      这个也有。

      意识到我从来没有打电话给

      admob.interstitial.prepare();
      

      添加后,一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-30
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-26
        相关资源
        最近更新 更多