2016-08-09 83 views
0

Ich baue eine iOS-App, die dem Benutzer eine Bildergalerie (nur Lesezugriff) anzeigt. Diese Bilder würden manuell in den Firebase-Speicher hochgeladen (kein cms, Web Admin Panel). Wenn ein neues Bild im Firebase-Speicher hinzugefügt/gelöscht/geändert wird, sollte die App in der Lage sein, den aktualisierten Inhalt anzuzeigen (genau wie die Firebase-Echtzeitdatenbank).Firebase - Bildergalerie mit iOS-App synchronisieren

Ich habe ähnliche Fragen im Zusammenhang mit dem Herunterladen einer Datei überprüft, indem ich einen Verweis auf den Firebase-Speicher über die Datei-URL erstellt habe. In meinem Fall wird die App die fest codierten URLs verfolgen, da sich die Bilder ändern und neue Bilder hochgeladen werden können.

1) Eine Möglichkeit besteht darin, eine Image-Database mit der URL jedes Bildes und der darin gespeicherten Metadaten zu erstellen, und diese Datenbank sollte mit der iOS App synchronisiert werden.

aber wieder Bilder werden manuell in den Speicher hochgeladen, so wie diese Referenz in der Datenbank gespeichert werden könnte?

Antwort

0

Wie Sie gesehen haben könnte, die derzeit Firebase Lagerung nicht über eine API, um eine Liste der Bilder abzurufen: How to get an array with all pictures?

Das in der Tat bedeutet, dass Sie an anderer Stelle die Liste der Bilder halten müssen werde. Die Firebase-Datenbank ist ein guter Ort, um dies zu tun, da Sie damit auch Änderungen an allen verbundenen Benutzern sofort synchronisieren können.

Um ein einfaches Beispiel einer App zu sehen, die (benutzergenerierte) Bilder im Speicher speichert und sie dann in der Datenbank auflistet, sehen Sie sich die App an, die wir bei I/O live codierten: Zero to App.

Aber wie Sie bereits gesagt haben, werden Sie die Dateien manuell zu Storage hinzufügen, so dass eine programmatische Möglichkeit, die URL dann hinzuzufügen, nicht hilft.

Eine Möglichkeit, dies manuell zu tun:

  1. das Bild zu Firebase Speicher laden
  2. die Download-URL kopieren für Sie Bild aus dem Dateipfad Panel der Datei
  3. der Bilder in die Liste gehen in der Datenbank
  4. ein neues Kind unter dieser Liste, zum Beispiel erstellen, basierend auf Zeit: 20160809
  5. fügen Sie die Download-URL als Wert