首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有回调的Android cordova插件

问带有回调的Android cordova插件
EN

Stack Overflow用户
提问于 2013-11-10 01:44:23
回答 1查看 813关注 0票数 0

我正在将IOS phonegap插件转换为android。在IOS中有这样一个插件调用

代码语言:javascript
复制
cordova.exec('InAppPurchaseManager.requestProductsData', callbackName, {productIds: productIds});

这一行代码使用本机层从itues商店获取产品详细信息。一旦将此消息发送到本机层,它就会发出异步请求以获取产品details.Once,然后进行调用。

代码语言:javascript
复制
NSString *js = [NSString stringWithFormat:@"%@.apply(plugins.inAppPurchaseManager, %@);", callback, [callbackArgs cdvjk_JSONSerialize]];
    [command writeJavascript: js];

在上面的行中,变量回调保存调用插件时参数callbackName传递的值。我怎么能在android上做同样的事情呢?

插件在android中没有接收回调名值的选项。

代码语言:javascript
复制
public PluginResult execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException

在phonegap的android系统中,我使用了以下方法

代码语言:javascript
复制
cordova.exec(callbackName, null, "MyPluginClass", "getProducts", productIds);

我如何在android中实现同样的功能呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-11-10 02:08:58

您必须在应用程序计费服务中使用Google。GitHub上的这个项目有一些很好的例子:

https://github.com/poiuytrez/AndroidInAppBilling

我没有时间为IOS和Android创建一个代码库,但我计划在将来.我最后所做的是,它可能会更快地添加一个单独的层,但我只是试图让它在当时的工作,并将重构在未来.下面是我所做的工作,这需要对Android GitHub项目进行最低限度的修改:

代码语言:javascript
复制
           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?' );
            }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19885329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档