2016-07-20 15 views
1

Ich werte zur Zeit Firebase. In meiner Anwendung erlaube ich Benutzern, Entitäten (benutzerdefinierte Übungen) zu erstellen, die jetzt in SQLite DB gespeichert sind. Ich möchte das auf FB verschieben, aber ich habe eine Frage.Beschränken Sie Pfade von der Synchronisierung mit Server in Firebase Realtime Database

Ich möchte Benutzern erlauben, sich zu authentifizieren, um ihre Übungen mit anderen Geräten synchronisieren zu können. Ziemlich Standard-Anwendungsfall. Aber ich möchte Benutzer nicht dazu zwingen, ein Konto bei meiner App zu haben, damit sie sie anonym nutzen können, solange sie wollen und keine Synchronisierung benötigen. Gibt es eine Möglichkeit, die Synchronisierung mit dem Server zu deaktivieren, wenn sie anonym sind? Es macht keinen Sinn, anonyme Daten mit dem Server zu synchronisieren, da sie diese sowieso nicht aufheben können. Wenn sie also ein Gerät oder einen Werksreset ändern, erhalten sie eine neue ID und diese Daten werden verworfen.

Also was ich will ist, während ein Benutzer anonym ist - seine Sachen lokal nur in Firebase RTDB zu halten, aber, sobald er sich anmeldet, synchronisieren Sie es. Ist das möglich?

Danke.

Antwort

0

Die Firebase Realtime Database ist eine Cloud-gehostete Datenbank, die weiterhin für kurze bis mittlere Momente arbeitet, in denen Sie nicht mit dem Netzwerk verbunden sind. Wenn Sie nach einer Datenbank suchen, die auf unbestimmte Zeit im Offline-Modus läuft, mit nur einer potenziellen Synchronisierung, ist die Firebase-Datenbank im Moment möglicherweise nicht gut geeignet.

+0

Vielen Dank für Ihre Antwort. Gibt es eine Chance, dass dies in Zukunft hinzugefügt wird? Was ich will, sieht wie ein gewöhnlicher Anwendungsfall aus. – EvilDuck

0

Wenn ich Ihre Frage richtig verstehe, sollten Sie in der Lage sein, die Datenbank rules zu verwenden, um das gewünschte Verhalten zu erreichen.

Set wird als global festgelegt, während der Schreibvorgang nur für authentifizierte Benutzer gilt. Wenn ein anonymer Benutzer ein Konto erstellt, erhält der Benutzer somit Schreibzugriff und alle lokalen Daten können dann auf die Datenbank übertragen werden.

+0

Aber wenn ein Schreiben auf authentifizierte Benutzer beschränkt ist, bedeutet das nicht, dass der Benutzer nicht in der Lage sein wird, auf einen lokalen FB-Speicher zu schreiben? Ich dachte Regeln gelten für die gesamte Datenbank, nicht nur für den Online-Teil. – EvilDuck

+0

wenn du gesagt hast "um seine Sachen lokal zu halten", was hast du mit local gemeint? Ich habe lokal auf dem Gerät angenommen. Eine weitere Möglichkeit ist die Erstellung von automatisch generierten Benutzer-IDs für alle Benutzer und "nicht-anonyme" Benutzer sind einfach Benutzer mit benutzerdefinierten Benutzer-IDs, die sie selbst festlegen. – Bill

+0

"local" ist in der Firebase Realtime Database, aber nur lokal . Ohne sie mit einem Server zu synchronisieren. – EvilDuck