2017-01-08 5 views
0

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?

+1

Welche Daten Sie zusammenführen zu erwarten? Meinst du Benutzerkonto in Firebase? oder in der Datenbank? – Jad

+0

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

+0

@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

Antwort

Verwandte Themen