如何阻止用户在两个设备上使用应用程序?

How to stop users from using an app over two devices?

我有一个 iOS 应用程序,我在其中使用 Facebook 登录,然后 phone 验证完成后,用户可以继续使用该应用程序。我只在用户注册时要求 phone 验证一次。

我想问问有什么方法可以阻止用户在两台设备上使用该应用程序吗?因为应用程序记录了用户的足迹(位置)和当前位置,如果用户在两台设备上使用该应用程序,两台设备都会进行位置更新,将无法判断哪个位置属于用户?

我可以使用 UUID 或其他标识符吗?

您不能使用 UUID。但是您可以生成供应商 ID。但是您需要检查用户是否已经在某种服务器上的设备上使用,并让应用程序询问是否允许 运行.

但请记住,Apple 不喜欢这样的东西。

好吧,我不得不做一次类似的事情。该应用过去可以为单个用户 运行 在应用内购买设备数量。我所做的是:

  1. 我曾经在登录我的应用程序时获取设备的 UUID 并将其发送到服务器。

  2. 在我的服务器端数据库中可以存储针对用户的 UUID。每当用户尝试登录时,我都会使用登录请求发送 UUID。

  3. 如果 UUID 存在,那么我会 return 成功响应,否则我会检查该用户允许的设备数量。如果添加此设备超过限制,那么我会发送失败响应。否则用于插入针对该用户的 UUID 和 return 成功响应。

  4. 假设用户从一台设备上删除了应用程序并想从另一台设备登录。然后显示一个弹出窗口,如 "Do you want to change the device?" 如果 he/she 说是,那么我曾经更新 UUID 并允许 him/her 在此设备中使用该应用程序。每次应用程序启动时(新启动或从后台启动)我都会根据服务器的 UUID 检查 UUID。

您可以设计自己的系统,但使用设备 UUID 会带来一些额外的好处。就像您不需要将 UUID 存储在任何地方一样,您可以依赖它的唯一性。