InAppPurchases 不适用于 PhoneGap 应用程序
Posted
技术标签:
【中文标题】InAppPurchases 不适用于 PhoneGap 应用程序【英文标题】:InAppPurchases not working on PhoneGap App 【发布时间】:2011-12-12 22:22:47 【问题描述】:我在尝试在基于 iPhone phoneGap 的应用程序中运行 inAppPurchases 时遇到了一些问题。 我在 gitHub 上获得了 inAppPurchase-plugin https://github.com/phonegap/phonegap-plugins/tree/master/iPhone/InAppPurchaseManager
然后我创建了我的开发者帐户,购买了 99 美元,并制作了我的 inAppPurchase 目录 为此创建了我的 iTunes Connect 帐户以获取测试用户。
我将所有插件文件放在它说的位置...并且,如果我尝试运行“alert(typeof window.plugins.inAppPurchaseManager)”,它会显示“object”,所以插件正在正确加载!
当我尝试购买时出现问题..
我注销了我的 iTunes 帐户,在我的 iphone 中运行我的二进制文件,当我进行购买时,我应该看到一个提示,要求我提供我的测试帐户信息,以便进行象征性购买!但它永远不会发生!
我试图运行的javascript代码(非常基本)如下
document.addEventListener('deviceready', onDeviceReady, false);
function onDeviceReady(event)
window.plugins.inAppPurchaseManager.onPurchased = function(transactionIdentifier, productId, transactionReceipt)
alert("purchased");
;
window.plugins.inAppPurchaseManager.onRestored = function(originalTransactionIdentifier, productId, originalTransactionReceipt)
alert("restored");
;
window.plugins.inAppPurchaseManager.onFailed = function(errorCode, errorText)
alert("error");
;
window.plugins.inAppPurchaseManager.requestProductData(
"com.mycompany.myproduct.myproductid",
function(productId, title, description, price)
alert("data retrieved");
window.plugins.inAppPurchaseManager.makePurchase(productId, 1);
,
function(id)
alert("Invalid product id: " + id);
);
希望你能帮助我!谢谢!
【问题讨论】:
【参考方案1】:你需要在 html.index 中调用诸如 window.plugins.inAppPurchaseManager.onPurchased 之类的 js 函数,这些函数才能工作。即这些函数在 js 中调用 onPurchased 并相应地调用 obj-C 函数。
(index.html中的js函数)->(js文件中的js函数)->(objective-C函数)...是序列。
【讨论】:
【参考方案2】:您是否收到任何无效的产品 ID?苹果端有很多陷阱。尝试通读this guide 以查找获取产品信息请求以返回有效产品所需的内容。
【讨论】:
以上是关于InAppPurchases 不适用于 PhoneGap 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
@RequestBody 不适用于 @JsonProperty