有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

类似于iCloud的java唯一google id

所以,几天来我一直在寻找解决方案,但运气不好,所以我想我会在这里发布。因此,在我的移动应用程序中,用户不会按照通常意义上的“注册”,而是他们的帐户将具有唯一的id

因此,问题在于知道哪个用户是哪个用户,并保持他们的数据不变,无论他们是否切换到新设备、是否从备份中恢复等

对于IOS,我通过使用iCloud的唯一标识符解决了这个问题。我通过api调用来获取他们的id,并检查我的后端,看看他们是否已经拥有一个帐户。(很明显,我不能解释为什么有人故意退出只是为了搞乱它。有些边缘案例不值得争论。)这是用swift编写的对iCloud的api调用

  CKContainer.defaultContainer().fetchUserRecordIDWithCompletionHandler({ (recordID, error) -> Void in

            dispatch_async(dispatch_get_main_queue()) { () -> Void in
                if error ==  nil
                {
                    if recordID != nil
                    {
                        self.rid = recordID!.recordName

                        let json = ["user":self.rid]

                        networkController.newUser(json)
                    }
                    else
                    {
                        // Just a random string
                        self.rid = randomID()

                        let json = ["userID":self.rid]

                        networkController.newUser(json)
                    }
                }
                else
                {
                    MBProgressHUD.hideHUDForView(self.view, animated: true)

                    let alert = UIAlertController(title: "Uh Oh", message: error!.localizedDescription, preferredStyle: .Alert)

                    let okayAction = UIAlertAction(title: "Okay", style: .Cancel, handler: nil)

                    alert.addAction(okayAction)

                    self.presentViewController(alert, animated: true, completion: nil)
                }
            }
        })

这保证了当用户登录到他们的iCloud帐户时,会有一个唯一的CloudKit记录,因此在恢复备份或获取新设备时,无需创建新帐户

我的问题是谷歌/安卓是否有类似的东西,不一定是他们的电子邮件地址或任何个人信息。因为安卓设备价格便宜,而且通常交换频繁,所以我想要一种能够保持用户数据同步的方法。非常感谢您的任何帮助或反馈


共 (1) 个答案