识别Google Play订阅的用户

时间:2013-02-06 09:10:10

标签: android google-play billing google-play-services

如何为Android应用程序实施(自动续订)订阅。

我已阅读documentation

据我了解,该流程如下:

  • 用户在应用上订阅此类订阅。这将生成一个购买令牌。
  • 该应用会将此令牌发送到服务器以及识别此用户的内容
  • 服务器将使用此用户存储此购买令牌,并将订阅标记为有效
  • 服务器定期通过http-api验证此购买令牌(通常每天一次),例如cronjob
  • 如果订阅无效,则订阅将在服务器端标记为无效。
  • 如果应用程序向服务器请求需要订阅的资源,则客户端将发送此user-identity-string以及请求。然后我们检查数据库,该用户的订阅是否仍然标记为有效。

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

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


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

  • 用户在其第二台设备上使用相同的Google Play帐户登录。
  • 当应用程序启动(或变为活动状态)时,我们将获取用户订阅
  • 然后我们会从订阅中收到此购买令牌,并将它们与新的唯一ID一起发送到我们的后端服务器,就好像用户已经进行了新订阅一样。

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


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

1 个答案:

答案 0 :(得分:-2)

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