0

我已经修改了play_billingAndroid SDK 的 Google extras 中的示例,以使用我自己的应用程序包名称和公钥。我能够通过该应用购买托管项目以及订阅。

但是,当我调用诸如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 时的测试用户帐户,它没有列出。然而它不会让我再次购买。因此,当我查询购买的订阅时,不仅不会显示它们,而且它们也无法取消以再次测试。

这里的任何想法将不胜感激。

4

1 回答 1

0

当我遇到这个答案并决定尝试那里链接的更新代码时,偶然发现了它。

显然play_billingSDK 管理器中列出的示例已经过时,包中的所有类都util需要替换为这个最新项目util中的包。

在我用新包替换旧util包后,我的订阅与常规项目一起列出premium!!!

Purchase: paid_app
Purchase: premium
于 2013-06-11T04:21:26.777 回答