6

有没有人幸运地将外部插件添加到 Phonegap 桌面应用程序?我已经成功添加了诸如“设备”之类的核心插件,但没有添加外部插件。我正在尝试将 com.admob.google 添加到我的项目中,但我无法将 admob 识别为命令。在 config.xml 我添加:

<gap:plugin name="com.admob.google" source="plugins.cordova.io" />

在我的 .js 文件中的 deviceReady 函数中,我有:

try{
    admob.requestInterstitialAd(); //or any other admob command
}
catch(err){
    alert("admob not loaded");
}

每次在我的设备上(通过 Phonegap 开发者应用程序)我都会收到警告说“admob 未加载”。

我是在混合 Phonegap 和 Phonegap Build 命令吗?

Phonegap Build Desktop App 还不支持自动包含外部插件吗?

4

2 回答 2

6

我是您尝试使用的插件的作者。看来您正在使用命令行界面,它在<gap:plugin ...>上还没有任何自动化(我不确定它是否会在不久的将来推出)。

正如 Sanfor 所说,如果您使用的是Phonegap CLI,您应该手动添加每个插件:

phonegap local plugin add cordova-admob

或者,如果您使用的是Cordova

cordova plugin add cordova-admob

如果您使用的是Phonegap Build,则应将标签放入config.xml

<gap:plugin name="cordova-admob" source="npm" />

在这种情况下,您还可以按照https://github.com/appfeel/admob-phonegap-build-demo.git上的说明在您的 Phonegap Build 帐户中测试演示应用程序。

deviceready请记住在触发事件后始终使用 admob :

function onAdLoaded(e) {
  if (e.adType === admob.AD_TYPE.INTERSTITIAL) {
    admob.showInterstitialAd();
  }
}

function onDeviceReady() {
  document.removeEventListener('deviceready', onDeviceReady, false);

  // Set AdMobAds options:
  admob.setOptions({
    publisherId:          "YOUR_PUBLISHER_ID",                  // Required
    interstitialAdId:     "YOUR_PUBLISHER_OR_INTERSTITIAL_ID",  // Optional
  });

  // Start showing banners inmediately:
  admob.createBannerView();

  // To show an interstitial, call admob.showInterstitialAd() when onAdLoaded is fired:
  document.addEventListener(admob.events.onAdLoaded, onAdLoaded, false);
  admob.requestInterstitial();

  // You could also request and show an interstitial like this:
  // admob.requestInterstitialAd({ autoShowInterstitial: true});
}

document.addEventListener('deviceready', onDeviceReady, false);

知道您是否正在使用 CLI 进行测试以便以后使用 PGB 很有趣。但是,我不确定它是否有助于模拟 admob 功能。如果是你的情况,请告诉我。我想到的唯一情况是您想在不支持插件的桌面浏览器中测试应用程序。但即使在那种情况下,我还是建议你使用来自 github 的涟漪孵化器(甚至是 weinre,但如果你在 Mac 中,最好使用 safari 开发人员工具)。

编辑 2016-04-22

将旧插件引用更新到最新的和用于 phonegap 构建的 npm 源。

于 2014-12-22T22:59:49.597 回答
1

我不是专家,但我没有这个工作。我认为您确实在混合 PG 和 PGB 配置(gap:plugin)。由于我没有得到这些工作的运气(我想你需要通过CLI添加这些),我只能建议我所做的:模拟那些默认不存在的插件。例如,您可以使用可用的必要功能定义admob对象。

于 2014-12-22T15:20:14.427 回答