【问题标题】:iOS app user id without permanent device ID没有永久设备 ID 的 iOS 应用用户 ID
【发布时间】:2015-08-11 05:16:08
【问题描述】:

我有一个应用程序(不是游戏),该应用程序在服务器数据库中为用户存储了一些数据,所以我需要一个用户 ID 才能使用。 由于我现在无法在 ios 设备中拥有永久 id,因此我使用了 google play games 登录方式。

用户打开应用程序并被重定向到 safari,他登录 google 并返回应用程序,我使用 google play games ID 来识别我的用户。

我的二进制因此被拒绝了,所以我可以使用iOS游戏服务,但它不是游戏,所以我担心再次被拒绝,任何人使用ios游戏服务只是为了获取用户的标识符之前在非游戏应用中?

这是拒绝消息

我们注意到您的应用中存在一个问题,导致用户体验质量低于 Apple 用户的预期:

  • 启动应用程序后,移动版 Safari 中的网页会打开以供登录,然后 > 将用户返回到应用程序。用户应该能够在不先打开 >Safari 的情况下登录。

在启动时无需打开浏览器窗口即可获取用户标识符的任何其他方法? 如果用户不必输入用户名或密码进行注册,那将是最好的。

非常感谢任何帮助。

【问题讨论】:

    标签: ios google-play-services appstore-approval


    【解决方案1】:

    这是 iOS 上的常见场景。如果您想确保在卸载应用时不会丢失数据,许多应用(例如愤怒的小鸟)需要注册或使用第三方登录(例如 Facebook)或 Game Center ID。

    因此,通常使用应用供应商 ID 来识别用户服务器端,直到您有另一个 ID 来识别它们。

    当然,在卸载/重新安装应用程序时会重置供应商 ID。每个应用程序的 Game Center ID 是唯一的,但在安装之间是一致的,因此看起来 Apple 更希望您使用 Game Center ID。

    来自Working with Players in Game Center

    玩家标识符字符串唯一标识玩家

    每个玩家 帐户由包含的玩家标识符字符串唯一标识 在 GKPlayer 对象中。标识符字符串是在 玩家的帐户是首先创建的,并且永远不会更改,即使其他 账户信息发生变化。因此,玩家标识符是 跟踪特定玩家的唯一可靠方法。为此, Game Kit API 在特定玩家需要的任何地方使用玩家标识符 被识别。如果 Game Center 需要识别特定玩家 在您的游戏中,Game Kit API 返回该玩家的标识符。您的 游戏使用玩家标识符从 Game Center 检索信息 关于那个玩家。

    除了在您与游戏的互动中使用玩家标识符 中心,你的游戏也应该使用玩家标识符 想要在本地存储有关特定玩家的数据。例如,如果 您的游戏存储数据以跟踪玩家的进度(例如在 设备、您自己的服务器或 iCloud 上),使用玩家标识符 区分在同一设备上玩的多个玩家。那 方式,如果其他玩家登录设备,您可以立即 通过显示特定于该播放器的内容来个性化体验。

    卸载时丢失进度是标准行为。即使在卸载或通过注册或登录在设备之间共享进度后也能保存进度。

    【讨论】:

    • 太好了,感谢您提供的信息!我可以使用供应商 ID,但如果我将游戏中心 ID 用于非游戏应用程序,它会通过审核吗?
    • 他们可能把游戏中心命名错了。您可以在“游戏”之外使用它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多