Live-Kartenpositionen teilen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Live-Kartenpositionen teilen

    Hallo zusammen

    Ich möchte auf einer Karte die Positionen von anderen Personen anzeigen und aktualisieren lassen. D. h. jeder, der die App öffnet, sieht automatisch die Positionen der anderen, welche die App ebenfalls geöffnet haben. Eigentlich sollte es von der Datenmenge kein Problem sein. Es muss ja nur der Benutzername, Längen- und Breitengrad irgendwo gespeichert und dann aktualisiert werden.

    Ich bin auf Firebase gestossen. Da ich noch nicht ganz den Durchblick bezüglich der Kosten habe, wollte ich fragen, ob jemand eine andere Idee hat, wie ich dies umsetzen könnte?
  • Runner89 schrieb:


    Ich bin auf Firebase gestossen. Da ich noch nicht ganz den Durchblick bezüglich der Kosten habe, wollte ich fragen, ob jemand eine andere Idee hat, wie ich dies umsetzen könnte?
    Wie bist du in dem Bezug auf Firebase gestoßen? Du meinst, du willst die Datenpositionen der Personen alle x Sekunden in die Datenbank schreiben und von anderen abrufen lassen?
  • Runner89 schrieb:

    Genau. Ich möchte, dass die Daten alle x Sekunden in die Datenbank geschrieben und für die anderen abrufbar sind.

    Dank Google kam ich auf den Begriff "realtime Database" und dann so auf Firebase.
    Oi, oi, oi...
    Dann muss die Datenbank aber ordentlich rütteln.

    (Nur zur Vollständigkeit)
    Für Cloud Firestore:
    Für die kostenlose Variante hast du 20k Schreiboperationen pro Tag und 50K Leseoperationen pro Tag.
    Gehen wir jetzt davon aus, dass du alle 15 Sekunden schreibst, wären das 4 Schreiboperationen pro Nutzer pro Minute und 240 pro Stunde, sowie 5760 pro Tag.
    Die Leseoperationen brechen dir hier dann wahrscheinlich das Genick, bzw. dadurch kommst du dann in die kostenpflichtige Variante.
    (Jetzt nutzen die Leute die App natürlich nicht 24/7, allerdings sollte man das im Hinterkopf behalten)

    Für Realtime DB (dein Fall):
    Für die Realtime Database hast du 100 simultane Zugriffe auf die Daten. Das sollte erst einmal reichen, denn das bedeutet ja, 100 Leute müssen gleichzeitig auf die RT DB zugreifen.
    Wenn du darüber kommst, müsstest du zumindest den Blaze Plan aktivieren um >100 Verbindungen zu managen. Vorteil des Blaze Plans ist, du könntest auch mehrere RT DBs für ein Projekt nutzen.
    Vielleicht ist das schon ein Mehrwert für dein Projekt? Tbh. ich habe auch mal überlegt in wie weit du die Funktionalität ggf. einbaust und du wirst ja nie deine ganze Nutzerbasis mit allen teilen, sondern wahrscheinlich "User groups" bilden, die dann ihren Standort miteinander teilen (?).
    Dann ist gerade das Feature cool, weil du eine temporäre Db anlegst mit x usern, die dann ihren Standort miteinander teilen könnne/dürfen.



    Ansonsten gibt es hier noch zwei Interessante LInks zu dem Thema:

    firebase.google.com/pricing (ganz unten siehst du einen Calculator, falls noch nicht bekannt :))
    blog.back4app.com/firebase-rea…abase-vs-cloud-firestore/
  • Was ich mich frage, ist wie sich das vom Freundefinder unterscheidet und ob man deshalb eine neue App braucht?
    Soll das für beliebige Personen gehen? Soll da weitere Info angezeigt werden?
    Am naheliegendsten ist wohl wenn man selbst für ein paar € im Monat einen Server mietet auf dem z.B. MySQL läuft und jeder Client greift da per REST-API drauf zu.
    Und wenn jede Positon einen Timestamp hat und die Abfrage der Gesamtliste ein Timestamp der letzten Abfrage erhält, dann kann sich der Client auch einfach alle seit der letzten Abfrage geänderten Werte schicken lassen.
  • Was soll denn das werden, so etwas wie Vessel Finder, bei dem das Movement gerne mal 10-20sm sein kann oder eher etwas wie eine Dating ab, die einen sagt, Das Objekt der Begierde sitzt gerade 2m rechts neben dir?
    Je nachdem, liegen deine Anforderungen an den DB Provider und den Netwerk. wie hns sagte, kann sich da ein eigener Server schneller lohnen, denn auch die verschiedenen iNet Provider lassen sich den entsprechenden Durchsatz/Last auch gerne bezahlen.

    Von daher solltest Du deine Anforderungen etwas näher spezifizieren… so ist das nur lesen im Kaffeesatz
  • Danke für eure Rückmeldungen.


    Der Freundefinder alleine wäre an sich schon gut, aber für meine Idee nicht geeignet. Jeder Benutzer sollte zusätzlich die Karte bearbeiten können bzw. noch eigene Punkte setzen können.


    Die Idee wäre gewesen, dass sich alle 5-10 Sekunden die Positionen aktualisieren lassen. Der Input von McDan, dass die Daten nur an den Server gesendet werden, wenn sich der Standort um x Meter geändert hat, finde ich gut.


    Unter Berücksichtigung des Beispiels von ashtari zu den Kosten, denke ich, dass der Vorschlag von hns, ein paar Euro für einen Server zu mieten, wohl am besten ist. So sind die Kosten überschaubar und konstant.
  • Runner89 schrieb:

    Ich habe dank Google noch CloudKit gefunden. Da alle Benutzer ein Apple-Gerät haben, könnte diese Lösung am einfachsten sein.
    Aber erfordert dies nicht eine „shared database“, da alle Benutzer ja auch Änderungen vornehmen sollen? Wenn ich es richtig verstanden habe, setzen diese eine Einladung voraus, die jeder Benutzer annehmen muss … gerne lasse ich mich korrigieren :)

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Ich finde es merkwürdig, warum nirgends offiziell von Apple die Kosten für CloudKit aufgeführt sind. Im Internet findet man ein paar Einträge zu den Kosten. Aber inwiefern die noch aktuell sind und stimmen, ist fraglich. Ich möchte ja zuerst wissen, wie viel es kostet, bevor ich überhaupt etwas umsetze.
  • Ich habe mal beim Apple-Support eine Kostenübersicht zu CloudKit verlangt. Bin mal gespannt, ob ich überhaupt eine Antwort erhalte.

    Ich werde mich sonst wohl doch für Firestore entscheiden. Ich habe dazu noch ein paar Fragen:

    Gibt es eigentlich in der Programmierung einen wesentlichen Unterschied, ob ich Firebase oder Firestore verwende?

    Was ist besser? Firebase oder Firestore?

    Auf dieser Seite habe ich gelesen, dass 10 GB monatlicher ausgehender Netzwerktraffic für Firestore kostenlos sind. Dies sollte für meine Belange locker ausreichen. Die Schreib-/Lesevorgänge pro Tag, die kostenlos sind, sind limitiert. Gibt es auch ein Monatslimit der kostenlosen Schreib-/Lesevorgänge oder sind diese einfach auf 10 GB begrenzt?
  • Runner89 schrieb:

    Ich habe mal beim Apple-Support eine Kostenübersicht zu CloudKit verlangt. Bin mal gespannt, ob ich überhaupt eine Antwort erhalte.

    Ich werde mich sonst wohl doch für Firestore entscheiden. Ich habe dazu noch ein paar Fragen:

    Gibt es eigentlich in der Programmierung einen wesentlichen Unterschied, ob ich Firebase oder Firestore verwende?

    Was ist besser? Firebase oder Firestore?

    Auf dieser Seite habe ich gelesen, dass 10 GB monatlicher ausgehender Netzwerktraffic für Firestore kostenlos sind. Dies sollte für meine Belange locker ausreichen. Die Schreib-/Lesevorgänge pro Tag, die kostenlos sind, sind limitiert. Gibt es auch ein Monatslimit der kostenlosen Schreib-/Lesevorgänge oder sind diese einfach auf 10 GB begrenzt?
    Öhm..
    Firebase ist das Google Produkt und innerhalb dieses Google Produkts gibt es die Funktion der Cloud Firestore.
    Da gibt es die Realtime Database und die Cloud Firestore.

    Und mit dem Hintergrund weiß ich ehrlich gesagt nicht wie ich deine Fragen beantworten soll. Die Gegenüberstellung habe ich ja ganz grob oben schon vorgenommen.
    Lg und happy coding.
  • Ich habe eine Antwort vom Apple Support erhalten bezüglich der Kostenübersicht von CloudKit:

    CloudKit bietet Ihnen Authentifizierung, private und öffentliche Datenbanken, sowie Dienstleistungen für die strukturierte Speicherung von Assets – und das alles kostenlos und mit sehr hohen Limits. Speichern Sie private Daten unbegrenzt und sicher in den iCloud-Accounts Ihrer Nutzer, und erhalten Sie bis zu 1 PB Speicher für die öffentlichen Daten Ihrer App.


    Jeder CloudKit-Container verfügt sowohl über eine öffentliche als auch über eine private Datenbank. Die öffentliche Datenbank verfügt über freigegebene Daten und nutzt Ihr Datenkontingent. Die private Datenbank enthält Daten, die nur für den aktuellen Benutzer sichtbar sind, und wird in dessen iCloud-Account gespeichert.


    Weitere Informationen über CloudKit finden Sie auf der Seite iCloud for Developers (iCloud für Entwickler).

    Allerdings gibt es keine konkreten Angaben, wie hoch die Limits sind, die man kostenlos nutzen kann und wie hoch die Kosten betragen, wenn man diese überschreitet.