识别 Google Play 订阅用户

mac*_*one 7 android billing google-play google-play-services

如何为 Android 应用实现(自动更新)订阅。

我已阅读文档

据我了解,该过程如下:

  • 用户在应用程序上订阅此类订阅。这将生成一个购买令牌。
  • 应用程序将此令牌以及用于识别此用户的内容发送到服务器
  • 服务器将与此用户一起存储此购买令牌,并将订阅标记为有效
  • 服务器通过 http-api 定期(通常每天一次)使用 cronjob 之类的东西验证此购买令牌
  • 如果订阅不再有效,则订阅将在服务器端标记为无效。
  • 如果应用程序向需要订阅的资源向服务器发出请求,客户端将随请求一起发送此用户身份字符串。然后我们检查数据库,如果该用户的订阅仍然标记为有效。

我现在的问题是,我们应该如何识别这些用户?我们是否有一个简单的用户 ID 可以在我们的应用程序和我们的服务器之间共享?还是我们应该使用不同的东西?这里的最佳做法是什么?

我们已经在 ios 上做了类似的订阅,我们使用设备的 uuid 来识别用户(至少只要我们能够使用 uuid)。


从下面的答案中,我们应该生成一个唯一的 ID。这对于每个设备(或每个应用程序安装)都是唯一的。但是如果用户更换了他的设备或重新安装了应用程序,这个 ID 将不再相同。所以我不确定这个用例的过程如何。我想到了这样的事情:

  • 用户在他的第二台设备上使用相同的 google play 帐户登录。
  • 随着应用程序启动(或变得活跃),我们将获取用户订阅
  • 然后,我们将从订阅中接收此购买令牌,并将它们与新的唯一 ID 一起发送到我们的后端服务器,就像用户进行了新订阅一样。

这是正确的过程吗?并保持购买令牌与第一台设备上的相同?


好的,我关于识别用户的问题得到了解答,提供的链接提供了足够的信息。如果我有一些问题,我会在关于 SO 的新线程中提出更多问题。

Aka*_*hah -3

此链接可能对您有所帮助,因为您希望唯一地识别用户。请注意,用户的个人信息仅由 Google 掌握。并且您应该避免获取用户的私人信息。 http://www.pocketmagic.net/2011/02/android-unique-device-id/#.URIe_B3Wgr7

  • 但是,如果用户更改他的设备,我将无法在服务器端识别该设备来验证他的订阅。然后,该应用程序需要重新检查 Google Play 上的订阅,并将一些内容发送到我们可以验证的后端服务器。我们还想跟踪设备更改或类似的情况 (2认同)