In meiner App könnte Benutzer ohne Synchronisierung Todo-Liste zwischen Geräten arbeiten. In diesem Fall benutze ich anonymous
Benutzerkonto. In AppDelegate.swift
.Zusammenführen mehrerer anonymer Benutzer Daten mit Firebase
FIRAuth.auth()?.addStateDidChangeListener { auth, user in
if user != nil {
print("User auth with account")
} else {
FIRAuth.auth()?.signInAnonymously() { (user, error) in
if FIRAuth.auth()?.currentUser != nil {
print("User auth anonymously")
} else {
print(error)
}
}
}
}
Nun, wenn Benutzer ToDo-Liste synchronisieren will er Dich an sollte ich das mit dieser Funktion:
let credential = FIREmailPasswordAuthProvider.credential(withEmail: self.textFieldLoginEmail.text!, password: self.textFieldLoginPassword.text!)
FIRAuth.auth()?.currentUser?.link(with: credential, completion: { user, error in
if error == nil {
FIRAuth.auth()!.signIn(withEmail: self.textFieldLoginEmail.text!,
password: self.textFieldLoginPassword.text!)
}
})
Ich speichere todo-Elemente in Firebase wie:
todoitems
----user_id
--------todo-item_id
Aber alle Daten von "anonymous" Konto wurde verloren, als ich mich anmeldete. Warum? Es sollte dieses "anonyme" Konto mit bestehenden und all seinen Daten zusammenführen. Oder sollte ich das manuell tun?
Welche Daten Sie zusammenführen zu erwarten? Meinst du Benutzerkonto in Firebase? oder in der Datenbank? – Jad
Daten sind Daten in Firebase und die Daten gehen niemals verloren, es sei denn, die Daten werden gelöscht. Der Entwickler steuert, auf welche Daten zugegriffen werden kann. Die Frage ist sehr vage wie in; Was ist, wenn es 50 anonyme Benutzer gibt? Wie würden Sie wissen, welche Daten zu jedem anonymen Benutzer gehören? Firebase verfügt nicht über eine Zusammenführungsfunktion. Daher ist das Codieren einer App, um dem aktuellen Benutzer Zugriff auf diese anonymen Daten zu ermöglichen, eine Funktion des Codes. Bitte klären Sie die Frage, damit wir versuchen können, sie zu beantworten. – Jay
@Jay ok, sorry für unklare Frage. Jeder Benutzer hat zum Beispiel eine Todo-Liste. Also, wenn ich Konto verbinde, sollte ich jeden Gegenstandseigentümer zum neuen Benutzer manuell ändern? – Arti