android - Android 上的定期订阅

标签 android in-app-billing

我已经为 Android 应用内结算实现了定期订阅,但我想知道应用如何知道订阅已续订。至少在测试中,订阅会在 1 天后结束。当应用程序在商店发布时会继续吗?

在 iOS 上,测试订阅会续订几次。足以让您在续订订阅时进行测试,但在 Android 上执行此操作的最佳方法是什么?

我可以使用purchaseToken让我的服务器查询Google Play API或者更新的订阅可以获得新的purchaseToken吗?

最佳答案

在android IAP中,当用户手动取消订阅或禁用自动续订时,购买 token 就会过期。否则,您每次都会获得有效的购买 token 。在测试模式下,测试人员的订阅会在 5 分钟后自动过期,但在生产中,它可以正常工作。所以不必担心生产行为。如果您作为测试人员运行该应用程序,您将在付款流程开始时获得以下付款模式。 Subscription-test-instruments

您将有 2 个选项来测试您的实现

  1. 测试卡(始终批准)
  2. 测试卡(总是拒绝)

通过测试这两张卡,您可以确定其实现情况。您的应用程序应该能够处理来自 IAP 的两个响应。如果两个流程都顺利的话,你就不用担心。您已准备好将其投入生产。这是Official Docs ,可以帮助您理解整个流程。

如果您设计了自定义流程来管理 IAP,您可以使用 Google Play Developer API 从后端验证 IAP token 。并允许用户相应地使用该功能。对于自定义流程,您可以根据 IAP token 到期时间从后端发送自定义 JWT token ,并设置自定义 JWT token exp 声明。通过使用此方法,您可以在客户端检查自定义 token 是否过期,如果发生这种情况,您可以获取新的 IAP token 并将其发送到后端。您的后端应验证 IAP token 并向用户颁发新的 JWT token ,然后循环继续。如果您想要自定义流程,请告诉我,我会将其发布在这里。

关于android - Android 上的定期订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723579/

相关文章:

Android Google Maps v2 - 调试键与发布键

java - 手机响铃时如何查看

Android CollapsingToolbarLayout 标题 - 上边距错误

android - Google Play 开发者 API : "startTimeMillis" is updated when it should not

android - 应用内计费设计 - 如何在首次安装时为用户提供免费项目

java - Android Studio 找不到 "libiconv.so"

Android espresso 在同一个 Activity 中连续测试多个 fragment

android - 如何检测已取消或已退款的 Google 应用内结算订单?

android - querySkuDetailsAsync 回调从未被调用

Android 应用内结算订阅状态更改回调