我已经开发了一个Android应用程序,其中包含inapp购买(非消耗品),并且一切正常。
现在,我必须为我的应用程序创建一个新的PRO版本,而不是让非消耗性产品具有订阅产品。
这就是我所做的:
我可以在调试和发行模式下编译并安装我的免费版和专业版,而不会出现问题,并且两个版本同时安装在我的设备中,并显示它们各自的名称和图标,所以我想我已经正确完成了这两个步骤
此后,如果我启动我的应用程序,则返回的库存为空(我想这还可以,因为我还没有购买任何订阅),但是如果我请求这些ID的详细信息,则getSkuDetails方法将返回null这四个项目。
我已经等了10个小时,以防apk没有完全发布。但是在这10个小时之后,问题仍然存在,queryInventoryAsync返回空库存,而getSkuDetails为每个订阅返回null。
我错过了什么吗?
---编辑---
我必须添加更多信息。 在仔细检查该应用程序是否已发布为Alpha之后,我尝试使用此链接下载该程序:
https://play.google.com/apps/testing/com.mydomain.mypackage.pro
这向我显示了一个网页,告诉我已经受邀测试该应用程序,并且必须接受邀请。
除此之外,还有一个链接可以从Play商店下载该应用。 因此,我接受邀请并从Play商店下载并安装该应用。 我非常确定这将解决错误,但是不幸的是,问题仍然存在,每次我为订阅调用getSkuDetails时,该方法都将返回null。
所以:
但是,getSkuDetails返回null。
答案 0 :(得分:1)
我终于找到了问题。 我在打电话
mHelper.queryInventoryAsync(true, additionalSkuList, null, mQueryFinishedListener);
在字段中为inapp项传递订阅。完成此操作后,我的应用即可运行:
mHelper.queryInventoryAsync(true, null, additionalSkuList, mQueryFinishedListener);