首页 文章

Codename One wasPurchased()方法:Android设备是否支持?

提问于
浏览
2

对于我的Codename One应用程序,我试图弄清楚我是否可以判断是否已经在Android上购买了应用内购买(非消费品)(code shown in my other SO question) .

根据这个2014 question,Android上似乎不支持托管购买 . 但是,当我在Android上测试 isManagedPaymentSupported() 时,它返回true,我可以购买In-App-Purchase .

因此,Android上似乎支持托管购买 . 然而,即使成功购买后 wasPurchased() 仍然是假的,尽管this Google Group discussion似乎确实_2588809确实有效 .

我试图到达source code for that wasPurchased() method但找不到任何有用的东西(也许我找不到合适的代码片段) .

所以我完全迷失了,因为我的代码在模拟器上按预期工作,但不在真正的Android设备上(这也可能是错误的) . 因此有人可以告诉我 wasPurchased() 是否在Android上运行(在这种情况下我的Android设备有问题)或者我是否必须实施一些原生的Android代码来执行 wasPurchassed() 预期会做什么?

EDIT November 10th 2016 : Solved with suffix "_nonconsume

正如_2588814中所述,默认情况下,Google Play将该产品视为耗材 . 这就是为什么非易耗品 wasPurchased() 返回false . 要使Google Play将开发者控制台中的In-App-Product视为非耗材, you have to use the suffix "_nonconsume" in the SKU name (例如:"myappfull_nonconsume") . 然后在将您的应用程序提交到Alpha测试 Channels 后等待几个小时,当应用程序可用时,Google Play将记住购买并且 wasPurchased() 将按预期工作 .

任何帮助,赞赏,

1 回答

相关问题