Codename One waspowered()方法:Android设备支持它吗?

Codename One waspowered()方法:Android设备支持它吗?,android,in-app-purchase,codenameone,Android,In App Purchase,Codenameone,对于我的代号为One的应用程序,我正在试图弄清楚是否可以判断是否已经在Android()上购买了应用内购买(非消费品) 根据这一点,安卓系统似乎不支持有管理的购买。但是,当我在Android上测试isManagedPaymentSupported()时,它返回true,我可以购买应用内购买 因此,安卓系统似乎支持管理式购买。然而,waspowered()即使在成功购买后仍然为假,尽管似乎是这样说的ẁaspourchased()确实有效 我试图访问,但找不到任何有用的东西(可能我没有找到正确的代码

对于我的代号为One的应用程序,我正在试图弄清楚是否可以判断是否已经在Android()上购买了应用内购买(非消费品)

根据这一点,安卓系统似乎不支持有管理的购买。但是,当我在Android上测试isManagedPaymentSupported()时,它返回true,我可以购买应用内购买

因此,安卓系统似乎支持管理式购买。然而,
waspowered()
即使在成功购买后仍然为假,尽管似乎是这样说的
ẁaspourchased()
确实有效

我试图访问,但找不到任何有用的东西(可能我没有找到正确的代码段)

因此,我完全不知所措,因为我的代码在模拟器上可以正常工作,但在真正的Android设备上却不能工作(这也可能是错误的)。因此,是否有人能告诉我,
waspursed()
是否在Android上工作(在这种情况下,我的Android设备出现故障),或者我是否必须实现一些本机Android代码来完成
waspursed()
预期要做的事情

编辑2016年11月10日:用后缀“\u nonsume”解决

正如在他的回答中所写,默认情况下,Google play将产品视为可消费品。这就是为什么在非消费品的情况下,
waspowered()
返回false。要让Google play将应用内产品视为非消费品,您必须在开发者控制台的SKU名称中使用后缀“\u nonsume”(例如:“myappfull_nonsume”)。然后在将您的应用程序提交到alpha测试频道后等待几个小时,当应用程序可用时,Google play将记住购买,并且
waspowered()
将按预期工作


感谢任何帮助,

这可能更有用:


这就是实际需要调用的部分。几年前,当我们迁移到新的Android in-app purchase 3 API时,添加了对托管采购的支持:

我在开始我的项目之前读了这篇文章,忘记了非消费品采购命名约定的关键部分!无论如何,感谢@Shai!我将将sku更改为myapp_full_nonsume,然后再次检查它现在是否工作。顺便说一句,我在互联网上的任何其他地方都看不到命名约定。这是谷歌的要求还是某个特定于Codename One的要求?就是这样!必须在sku中使用后缀_nonsume,就像在你的博客条目中一样!谢谢!