【发布时间】:2014-12-01 06:13:27
【问题描述】:
我正在 Android 应用中实现应用内订阅。在开发者控制台中,我有一个 7 天免费试用的订阅项目。在调试时,我购买了这个订阅。几天后,在 7 天试用期结束之前,我从 Play 商店取消了订阅 |我的应用程序 |订阅。 许多天后,在 7 天试用期过后很久,在我的代码中,当我获得拥有的订阅(使用 inAppBillingService.getPurchases())时,它仍然说我拥有订阅。由于我在试用期间取消了它,因此无需为此付费,而且我不再拥有该订阅。据我所知,这是 Google 应用内计费服务的一个错误。任何人都知道如何将此错误报告给 Google 以便修复?就像现在一样,客户可以购买我的订阅,然后在试用期内取消它。然后他们可以继续使用订阅,因为谷歌说他们拥有它。这是一个重大错误。
【问题讨论】:
-
您是否在刷新用户拥有的产品?您需要定期查询用户清单以确保它们已更新且仍然有效。
-
首先,让我们明确一点,我只是在谈论客户端界面。我没有使用服务器端接口(并且不能因为我不会进入的原因)。当您说“定期查询用户库存”时,您的意思是调用 getPurchasees()。每次程序启动时,我都会调用它,并且我已经连续数周每天启动程序数十次。如果还有其他方法可以做您所说的事情,请具体说明。
-
我建议您通过in-app billing tutorial 并在您的环境中创建sample app work。之后,如果您仍然遇到问题,请发布更具体的问题,并附上您尝试做的示例代码。
-
感谢您的评论里卡多。示例应用程序不会对订阅做任何事情。请重新阅读我的帖子。我在我的应用程序中调用 getPurchases() 并返回给我有关购买的每个订阅的信息,即使它们已被用户取消并且现在应该过期。这不是代码问题。这是 Google API 中的一个错误,或者从未记录过 getPurchases 不考虑订阅已被取消的事实。如果您不知道,请直说。
-
我使用示例应用程序来实现我的应用程序,并在我的应用程序中使用具有试用期的订阅。一切正常。
标签: android subscription in-app