如何使用Cordova插件实现应用程序内购买?

请告诉我使用Cordova插件实现应用程序内购买的方式。

我正在使用Cordova开发Android应用程序。 有一些应用内购买插件,但我决定使用Cordova购买插件。

我在PhoneGap / Cordova iOS和Android的应用内购买的 README.md上做了一些设置。 因此,我可以使用购买插件的Cordova的演示来调用插件,只需稍作修改即可。 (请参阅以下内容,它是代码的一部分。)

app.initStore = function() { if (!window.store) { log('Store not available'); return; } // Enable maximum logging level store.verbosity = store.DEBUG; // Enable remote receipt validation // store.validator = "https://api.fovea.cc:1982/check-purchase"; // Inform the store of your products log('registerProducts'); store.register({ id: 'myProductA', alias: 'myProductA', type: store.CONSUMABLE }); // When any product gets updated, refresh the HTML. store.when("product").updated(function (p) { console.info("app.renderIAP is called"); app.renderIAP(p); }); // Log all errors store.error(function(error) { log('ERROR ' + error.code + ': ' + error.message); }); // When purchase of an extra life is approved, // deliver it... by displaying logs in the console. store.when("myProductA").approved(function (order) { log("You got a ProductA"); order.finish(); }); // When the store is ready (ie all products are loaded and in their "final" // state), we hide the "loading" indicator. // // Note that the "ready" function will be called immediately if the store // is already ready. store.ready(function() { var el = document.getElementById("loading-indicator"); console.info(el + "ready is called") if (el) el.style.display = 'none'; }); // When store is ready, activate the "refresh" button; store.ready(function() { var el = document.getElementById('refresh-button'); console.info(el + "ready is called and refresh-button show?"); if (el) { el.style.display = 'block'; el.onclick = function(ev) { store.refresh(); }; } }); // Refresh the store. // // This will contact the server to check all registered products // validity and ownership status. // // It's fine to do this only at application startup, as it could be // pretty expensive. log('refresh'); store.refresh(); }; 

它没有显示插件不可用时显示的“存储不可用”,显示“registerProducts”和“刷新”。 (*当然,我在Google Play Developer Console上将“myProductA”添加到了应用内商品中。)

但是我注意到下面的函数没有被调用。

 store.when("product").updated(function (p) 

而且我也不明白这个参数应该填什么,所以我把下面的注释掉了。 (*我删除了注释,但它仍然无法正常工作。)

 store.validator = "https://api.fovea.cc:1982/check-purchase"; 

我猜这些事情是错的。 我不知道什么是我的堆栈,所以我的问题是不清楚的。 我想要一些线索来解决它…或者我不应该使用Cordova插件来实现应用程序内购买?

请给我你的手。

(我英语不太stream利,所以我很抱歉有些混乱。)

Solutions Collecting From Web of "如何使用Cordova插件实现应用程序内购买?"

你可以尝试这个插件作为替代: https : //github.com/AlexDisler/cordova-plugin-inapppurchase

以下是加载产品和进行购买的示例:

 inAppPurchase .buy('com.yourapp.consumable_prod1') .then(function (data) { // ...then mark it as consumed: return inAppPurchase.consume(data.productType, data.receipt, data.signature); }) .then(function () { console.log('product was successfully consumed!'); }) .catch(function (err) { console.log(err); }); 

它支持Android和iOS。

在手机差距应用程序中集成应用内结算的步骤

1 >>从这个链接在应用程序结算库克隆这个项目在您的电脑

2 >>使用CMD进入你的phonegap应用程序的根目录

3 >>然后运行这个命令cordova plugin add / path / to / your / cloned project –variable BILLING_KEY =“QWINMERR ………. RIGR”

注意:对于BILLING_KEY进入开发者控制台,然后打开您的应用程序,并转到服务和API的更多信息请参阅附加的截图 BILLING_KEY