Search code examples
cordovameteorin-app-purchasein-app-billing

Meteor App.configurePlugin and Cordova corner case


i've installed a cordova plugin with the usual syntax

meteor add cordova:[email protected]

this plugin requires a configuration setting that i've done with

App.configurePlugin('cordova:cc.fovea.cordova.purchase', {
  BILLING_KEY : MY_KEY
});

and it works.

Now i want to try a most recent version of this one so accordingly to THIS i've installed a tarball with

meteor add cordova:cc.fovea.cordova.purchase@https://github.com/j3k0/cordova-plugin-purchase/tarball/2b75e86979b1cc24aaa87ad4c15a77414f70269e

and it works BUT when i try to build my app with meteor build i've the following error

Error while building for mobile platforms: Error running                           
/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/tools/cordova-scripts/cordova.sh
Failed to install 'cc.fovea.cordova.purchase':Error: Variable(s) missing: BILLING_KEY
at
/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:304:23
at _fulfilled (/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done
(/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch
(/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:557:44
at flush (/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:442:13)
Error: Variable(s) missing: BILLING_KEY
at
/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/cordova-lib/src/plugman/install.js:304:23
at _fulfilled (/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done
(/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch
(/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:557:44
at flush (/Users/giggioz/.meteor/packages/meteor-tool/.1.1.3.1ui9e5i++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:442:13)


Installing "cc.fovea.cordova.purchase" for android

As you can see it seems like it does not see the configuration setting of my

App.configurePlugin('cordova:cc.fovea.cordova.purchase', {
      BILLING_KEY : MY_KEY
    });

Can you figure out why this error?

Thanks in advance.


Solution

  • You should use this line to configure your build plugin:

    App.configurePlugin('cc.fovea.cordova.purchase', {
      BILLING_KEY : MY_KEY
    });
    

    Not sure if it will work but it may.