我正在将IOS phonegap插件转换为android。在IOS中有这样一个插件调用
cordova.exec('InAppPurchaseManager.requestProductsData', callbackName, {productIds: productIds});这一行代码使用本机层从itues商店获取产品详细信息。一旦将此消息发送到本机层,它就会发出异步请求以获取产品details.Once,然后进行调用。
NSString *js = [NSString stringWithFormat:@"%@.apply(plugins.inAppPurchaseManager, %@);", callback, [callbackArgs cdvjk_JSONSerialize]];
[command writeJavascript: js];在上面的行中,变量回调保存调用插件时参数callbackName传递的值。我怎么能在android上做同样的事情呢?
插件在android中没有接收回调名值的选项。
public PluginResult execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException在phonegap的android系统中,我使用了以下方法
cordova.exec(callbackName, null, "MyPluginClass", "getProducts", productIds);我如何在android中实现同样的功能呢?
谢谢
发布于 2013-11-10 02:08:58
您必须在应用程序计费服务中使用Google。GitHub上的这个项目有一些很好的例子:
https://github.com/poiuytrez/AndroidInAppBilling
我没有时间为IOS和Android创建一个代码库,但我计划在将来.我最后所做的是,它可能会更快地添加一个单独的层,但我只是试图让它在当时的工作,并将重构在未来.下面是我所做的工作,这需要对Android GitHub项目进行最低限度的修改:
if ( window.plugins.InAppPurchasePlugin ) {
// launch the ios in app purchase MakePurchase function....
var quantity = 1;
window.plugins.InAppPurchasePlugin.buyProduct( config.gratitudeIosInAppProductId, quantity, buyProductError );
}
else {
if ( window.plugins.inappbilling ) {
window.plugins.inappbilling.buy( androidBuySuccessHandler, buyProductError, config.gratitudeAndroidInAppProductId );
}
else {
kendoConsole.log( 'no inappbilling?' );
}
}https://stackoverflow.com/questions/19885329
复制相似问题