我已经为Android In App Billing实施了定期订阅,但我想知道应用程序如何知道订阅已续订。在测试中,至少,订阅在1天后结束。当应用程序在商店发布时会继续吗?
在iOS上,测试订阅会更新几次。足以让您在续订订阅时进行测试,但在Android上执行此操作的最佳方式是什么?
我是否可以使用purchaseToken让我的服务器查询Google Play API或续订订阅获得新的purchaseToken?
答案 0 :(得分:2)
在android IAP中,当用户手动取消订阅或禁用自动续订时,购买令牌会过期。否则,您每次都会获得有效的购买令牌。在测试模式下,测试人员的订阅会在5分钟后自动过期,但在生产环境中,它将正常运行。因此,不必担心生产行为。如果您以测试人员身份运行该应用,则您将在付款流程开始时获得以下付款方式。
您将有2个选项来测试实施情况
通过测试这两张卡,您可以确定实现。您的应用应该能够处理来自IAP的两种响应。如果两种流程都顺利进行,您不必担心。您已经准备好将其投入生产。这是Official Docs,可以帮助您了解整个流程。
如果您设计了用于管理IAP的自定义流程,则可以使用Google Play Developer API从后端验证IAP令牌,并允许用户相应地使用该功能。对于自定义流程,您可以根据IAP令牌到期从后端发送自定义JWT
令牌,并设置自定义JWT令牌exp
声明。通过使用此方法,您可以在客户端检查自定义令牌是否已过期,如果发生这种情况,则可以获取新的IAP令牌并将其发送到后端。您的后端应验证IAP令牌并向用户发出新的JWT
令牌,然后循环继续进行。让我知道是否需要自定义流程,我将在此处发布。
答案 1 :(得分:0)
您只需定期查询Google Play服务器以检查用户拥有的项目,如果它是订阅,它将在活动且因此未过期的情况下答复他/她拥有该项目。
不要忘记验证接收到的数据的签名,并且最好使用服务器端验证 Android - protecting in app purchases with server side verification