Phonegap桌面应用程序外部插件

Dom*_*Dom 6 phonegap-plugins cordova phonegap-desktop-app

有没有人有幸将外部插件添加到Phonegap桌面应用程序?我已经成功添加了像"Device"这样的核心插件,但没有添加外部插件.我正在尝试将com.admob.google添加到我的项目中,我无法将admob识别为命令.在config.xml中我添加:

<gap:plugin name="com.admob.google" source="plugins.cordova.io" />
Run Code Online (Sandbox Code Playgroud)

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

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

每次在我的设备上(通过Phonegap开发者应用程序),我都会收到警告,说"admob not loaded".

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

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

Miq*_*uel 6

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

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

phonegap local plugin add cordova-admob
Run Code Online (Sandbox Code Playgroud)

或者如果您使用的是Cordova:

cordova plugin add cordova-admob
Run Code Online (Sandbox Code Playgroud)

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

<gap:plugin name="cordova-admob" source="npm" />
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您还可以按照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);
Run Code Online (Sandbox Code Playgroud)

有趣的是,您是否正在使用CLI进行测试以便以后使用PGB.但是,我不确定它是否有助于模拟admob功能.如果这是你的情况,请告诉我.我想到的唯一情况是,您希望在不支持插件的桌面浏览器中测试应用程序.但即使在这种情况下,我建议你使用github的ripple孵化器(甚至是weinre,但如果你在mac中,最好使用safari开发者工具).

编辑2016-04-22

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