如何为 Android 应用实施(自动更新)订阅。
我已阅读文档
据我了解,过程如下:
- 用户在应用程序上订阅此类订阅。这将生成一个购买令牌。
- 应用程序将此令牌连同用于识别此用户的信息一起发送到服务器
- 服务器将与此用户一起存储此购买令牌,并将订阅标记为有效
- 服务器通过 http-api 定期(通常每天一次)使用类似 cronjob 的方式验证此购买令牌
- 如果订阅不再有效,订阅将在服务器端被标记为无效。
- 如果应用程序向服务器请求需要订阅的资源,客户端将连同请求一起发送此用户身份字符串。然后我们检查数据库,如果这个用户的订阅仍然被标记为有效。
我现在的问题是,我们应该如何识别这些用户?我们是否有可以在应用程序和服务器之间共享的简单用户 ID?还是我们应该使用不同的东西?这里的最佳做法是什么?
我们已经在 ios 上进行了类似的订阅,并且我们使用设备的 uuid 来识别用户(至少只要我们能够使用 uuid)。
从下面的答案中,我们应该生成一个唯一的 ID。这对于每个设备(或每个应用程序安装)都是唯一的。但是,如果用户更改了他的设备或重新安装了应用程序,这个 id 就不再一样了。所以我不确定这个用例中的过程是如何的。我想到了这样的事情:
- 用户在他的第二台设备上使用相同的 google play 帐户登录。
- 随着应用程序启动(或变为活动状态),我们将获取用户订阅
- 然后,我们将从订阅中接收此购买令牌,并将它们与新的唯一 ID 一起发送到我们的后端服务器,就好像用户进行了新订阅一样。
这会是正确的过程吗?并保持购买令牌与第一台设备上的相同?
好的,我关于识别用户的问题得到了解答,提供的链接提供了足够的信息。如果我有一些问题,我会在关于 SO 的新线程中提出更多问题。