Phonegap桌面应用程序外部插件

时间:2014-12-22 15:04:54

标签: cordova phonegap-plugins phonegap-desktop-app

有没有人有幸将外部插件添加到Phonegap桌面应用程序?我已经成功添加了像“Device”这样的核心插件,但没有添加外部插件。我正在尝试将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 not loaded”的警告。

我是否在混合使用Phonegap和Phonegap Build命令?

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

2 个答案:

答案 0 :(得分:6)

我是您尝试使用的插件的作者。您似乎正在使用命令行界面,它还没有对&lt; gap:plugin ...&gt; 进行任何自动化(而且我不确定它&# 39; s在不久的将来出现。)

正如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功能。请告诉我你的情况。我想到的唯一情况是,您希望在桌面浏览器中测试应用程序,但不支持插件。但即使在这种情况下,我建议您使用ripple incubator from github(或者甚至是我们,但如果您使用的是mac,那么最好使用safari开发人员工具)。

编辑2016-04-22

更新了对最新版本的旧插件引用和针对phonegap构建的npm源代码。

答案 1 :(得分:1)

我不是专家,但我还没有工作。我认为你确实混合了PG和PGB配置( gap:plugin )。由于我没有幸运获得这些工作(我想你需要通过CLI添加),我只能建议我做了什么:mock那些插件默认情况下不存在。例如,您可以使用可用的必要函数定义 admob 对象。