Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 库存中未返回已购买的订阅_Android_In App Billing - Fatal编程技术网

Android 库存中未返回已购买的订阅

Android 库存中未返回已购买的订阅,android,in-app-billing,Android,In App Billing,我已经修改了Android SDK的Google extras中的play_billing示例,以使用我自己的应用程序包名称和公钥。我可以通过应用程序购买托管项目和订阅 但是,当我调用诸如Inventory.getAllPurchases()之类的方法时,即使在重新启动并重新安装应用程序之后,订阅也不会返回到用户的库存中 @Override public void onQueryInventoryFinished(IabResult result, Inventory inventory) {

我已经修改了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\u app
)不是输出的。当我再次尝试购买订阅时,它会显示我已经购买了:

我已经尝试了我所知道的一切,但我无法解决这个问题。由于常规项目按预期工作,我不明白为什么订阅不被退回,除非我完全不知道该如何工作

我已将APK作为草稿上传。我在测试人员列表中的电话上有我的电子邮件地址;该电子邮件不是我的开发人员电子邮件。我的订阅项目处于活动状态。我正在测试的手机是谷歌Play的最新版本

编辑:还是不走运。不过,如果相关的话,这里还有一个更新。当我进入谷歌钱包时,没有任何交易显示出来(表面上是因为它们是测试交易)。对于我的测试用户帐户,当我在订阅下进入Google Play时,它没有被列出。但它不会让我再次购买。因此,当我查询购买的订阅时,不仅不会显示这些订阅,而且它们也不在我可以取消再次测试的地方


如果您有任何想法,我将不胜感激。

当我偶然发现并决定尝试链接到此处的更新代码时,我发现了它

显然,SDK管理器中列出的
play\u billing
示例已过时,需要将
util
包中的所有类替换为来自的
util

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

Purchase: paid_app
Purchase: premium