【问题标题】:Is this the right approach for subscriptions in Android with a web service?这是使用 Web 服务在 Android 中订阅的正确方法吗?
【发布时间】:2013-01-12 19:53:29
【问题描述】:

我有一个连接到网络服务的应用程序。我已经在我的应用程序中实现了订阅,但我不确定这是否是正确的方法。这就是我正在做的事情。

  1. 我正在使用正确的 id 和类型进行REQUEST_PURCHASE。
  2. Google Play 将以异步IN_APP_NOTIFY 进行响应。
  3. 我拨打GET_PURCHASE_INFORMATION获取购买信息。
  4. 我从PURCHASE_STATE_CHANGED 回复中获得了purchaseToken 和其他详细信息。我将它们存储在本地数据库中。
  5. 我发送CONFIRM_NOTIFICATION 以确认我已收到purchaseToken。
  6. 现在我检查我的本地数据库并获取purchaseToken 并将其发送到我的网络服务器,该服务器将使用 Google Developer Android API 来验证购买并解锁订阅内容。当我的服务器告诉应用它已经过验证时,我会将其从我的数据库中删除。

每次启动应用程序时,我都会检查我的本地数据库是否有一些条目,如果有,我会尝试通过再次调用我的网络服务器来验证它。

我对第 6 步持怀疑态度。我想我应该先与我的服务器确认,然后执行第 5 步。

当有我可以使用的网络服务时,这里的正确方法是什么?

【问题讨论】:

  • 我也在我的应用程序中从事 Android 订阅工作,我做的几乎与你问的类似,我也不知道我是对还是错,如果你找到了正确的方法,你能告诉我正确的实现方法吗? .?

标签: android in-app-billing subscription google-play-services


【解决方案1】:

由于很久没有答案,我决定自己写。

V2 应用内结算 API 异常复杂。 V3 API 可供订阅,强烈建议使用它。 API 的实现非常简单。

据我所知,与一次性购买相比,人们对订阅更犹豫。所以我转向一次性购买模式,只有一个计划在购买时提供一年的专业功能,之后他们可以再次续订。

流程现在非常简单。

  • 请求购买。
  • 返回成功后,显示一条消息,例如“激活专业功能可能需要几分钟”
  • 消费购买。
  • 将 purchaseToken 存储在本地缓存中。
  • 在后台使用服务器进行验证。
  • 解锁专业版功能。

【讨论】:

    猜你喜欢
    • 2018-04-16
    • 2017-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 2015-09-11
    • 1970-01-01
    • 2012-05-11
    相关资源
    最近更新 更多