类似于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 楼答案
安德鲁
我想你问题的答案在这里
Generate a UUID on iOS from Swift
在这里
http://developer.android.com/reference/java/util/UUID.html
总之,“UUID”是你问题的答案