【发布时间】:2013-06-09 16:09:10
【问题描述】:
我已经修改了 Android SDK 的 Google extras 中的 play_billing 示例,以使用我自己的应用程序包名称和公钥。我能够通过该应用购买托管项目以及订阅。
但是,当我调用诸如 Inventory.getAllPurchases() 之类的方法时,订阅不会返回到用户的清单中,即使在重新启动并重新安装应用程序之后也是如此。
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inventory)
{
if(result.isFailure())
{
log.error("In-app billing inventory query failed: " + result);
return;
}
for(Purchase purchase : inventory.getAllPurchases())
{
log.info("Purchase: " + purchase.getSku());
}
}
输出:
Purchase: premium
如您所见,会输出常规的单次购买 (premium),但不会输出订阅购买 (paid_app)。当我再次尝试购买订阅时,它说我已经购买了:
我已经尝试了我所知道的一切,但我无法弄清楚。由于常规项目按预期工作,我不明白为什么没有返回订阅,除非我完全不知道它应该如何工作。
我已将 APK 作为草稿上传。我在测试人员列表中的电话上有我的电子邮件地址;该电子邮件不是我的开发人员电子邮件。我的订阅项目是有效的。我正在测试的手机装有最新版本的 Google Play。
编辑:仍然没有运气。但是,如果它是相关的,这是另一个更新。当我进入谷歌钱包时,没有任何交易出现(表面上是因为它们是测试交易)。当我在订阅下进入 Google Play 时,我的测试用户帐户没有列出。然而它不会让我再次购买。因此,当我查询购买的订阅时,不仅不会显示它们,而且它们也无法取消以再次测试。
这里的任何想法将不胜感激。
【问题讨论】: