Google Play:如何验证应用程序本身的一次性购买(而不是应用程序内产品或订阅)?

问题描述 投票:0回答:1

我有一个应用程序,我们已经作为一次性购买出售了很多年。没有任何类型的应用内产品。

我们正在开发将提供订阅产品的更新。我想为之前直接购买该应用程序的用户提供奖励,让他们转而使用我们的订阅计划。为了做到这一点,我想允许用户将他们的购买令牌发送到我们的服务器以供我们验证。

我可以看到 Google 在哪里公开了 API 方法来验证订阅

https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.subscriptions/get

...还有一个用于验证应用内产品

https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.products/get

但是我没有看到任何地方可以验证实际的应用程序本身是否已被购买

任何指点将不胜感激!

android google-play receipt-validation
1个回答
0
投票

我没有看到任何地方可以验证实际的应用程序本身是否已购买。

可能是因为应用程序购买的验证,特别是对于一次性购买而没有应用程序内商品或订阅的应用程序,将涉及一种不同的方法。

Google 的许可 API 旨在帮助您对 Google Play 上发布的应用程序实施许可政策。虽然许可 API 主要旨在防止未经授权的使用,但它也可用于检查用户是否已购买该应用程序。您需要将许可 API 集成到您的应用程序中,并设置您的服务器来验证许可证状态。

由于您想引入订阅模式,请考虑将您的应用程序转换为免费下载,并提供 IAP 选项以获得完整功能
对于已购买该应用程序的现有用户,您可以通过应用程序内购买权利向他们授予全部功能。此迁移将允许您为新老用户使用现有的应用内购买验证 API。

识别以前的购买者:

  • 在您的应用程序更新中实施一次性初始化过程,以检查是否已购买完整版本。这可以使用 DataStore 来完成,它取代了
    SharedPreferences
  • 对于这些用户,自动授予同等的应用内产品权利。
  • 今后,对新老用户都使用标准的应用内购买验证流程。应用程序启动时,检查许可证状态
 App (Client)             Your Server              Google Play Server
      |                         |                            |
      |---- Request Token ----->|                            |
      |                         |---- Verify Token --------->|
      |                         |                            |
      |                         |<--- Verification Result ---|
      |<--- Entitlement Info ---|                            |
© www.soinside.com 2019 - 2024. All rights reserved.