Ich bin derzeit eine mobile App Entwicklung AngularJS/Ionic 3.Hintergrund Geolocation Plugin: Standortbestimmung und Update-Datenbank alle 5 Minuten
Ich muss mit jederzeit verfolgen, wenn meine Benutzer in einem Umkreis von 100 m sind einer bestimmten geolocation (nennen wir es "Home Location". Ich muss jederzeit wissen, welcher Benutzer an seinem Heimatort ist, und wer nicht ist (auch wenn die App im Hintergrund läuft oder geschlossen/beendet ist).
Ich dachte, dies zu realisieren, mit dem Ionic Native Hintergrund-Geolocation-Plugin und der cordova-plugin-background-geolocation. Mein Plan war, die Benutzer Geolocation alle 5 Minuten und co Mpare es nach Hause.
Fall 1) Wenn der Abstand zwischen den beiden Standorten ist < 100m weiß, dass ich der Benutzer „zu Hause“ ist. Ich würde dann den Benutzerknoten in meiner Datenbank (Firebase) aktualisiert den Benutzer als isAtHome: true
markieren und einen aktuellen Zeitstempel hinzufügen.
Fall 2) Wenn sich der Benutzer nicht innerhalb von 100m von seinem Heimatort befindet, würde ich ihn als isAtHome: false
markieren und einen aktuellen Zeitstempel hinzufügen.
Ich brauche meine Datenbank auch bei den Benutzern nicht bewegen zu aktualisieren, weil ich wissen muß, dass ich ein Stromsignal empfangen. Ansonsten weiß ich nicht, ob er zum Beispiel sein Smartphone nicht bewegt oder ausgeschaltet hat.
Wenn ich wissen will, wer meinen Benutzer ist in seinem Hause Lage, würde ich die isAtHome
-attributes überprüfen und, wenn sie auf true
gesetzt sind, würde ich die Zeitstempel überprüfen, um sicher zu sein, dass ich up-to Datumsangaben und die Daten wurden innerhalb der letzten 15 Minuten geschrieben.
Ich habe versucht, viele verschiedene Dinge, aber ich bin nicht sicher, wie das Geolokalisierung Plugin mit dem Cordova Hintergrund zu erkennen, und wenn es sogar möglich.
Meine Frage ist:
Ist es möglich, die Benutzer Geolocation alle 5 Minuten zu überprüfen (auch im Hintergrund/terminierten Zustand) und eine Funktion aufrufen, die mein Feuerbasis DB entsprechend aktualisiert? Wie beschrieben, muss ich den Standort auch dann erhalten, wenn sich der Benutzer innerhalb der letzten 5 Minuten nicht bewegt hat.
Wenn es nicht möglich ist: Hat jemand eine Idee, wie die Anforderungen an eine andere Art und Weise zu nähern?
Vielen Dank für Ihre Hilfe!
Danke, Gabriel. Ich dachte über eine ähnliche Lösung nach. Doch das Problem ist: Wenn das Gerät nicht seine Position für 20 Minuten nicht ändert, dann ‚yourSavingCodeFunction()‘ wird nicht innerhalb dieses Zeitraums ausgeführt. Also meine Datenbank ist nicht aktualisiert und ich habe keine aktuellen Standortdaten.Wie würde ich dann beispielsweise den Unterschied zwischen einem sich nicht bewegenden Benutzer und einem ausgeschalteten Handy kennen? Wie könnte ich mit Sicherheit sagen, ob der Benutzer zu Hause ist oder nicht? –
Warum können Sie Ihren Standort nicht alle 5 Minuten aktualisieren, auch wenn der Benutzer nicht umgezogen ist? Gibt es einen Punkt, warum Sie nur aktualisieren müssen, nur wenn es sich bewegt und wenn 20 Minuten ohne zu bewegen? Die Aktualisierung selbst dann, wenn der Benutzer nicht verschoben wurde, scheint besser zu sein, da Sie den aktuellen Standort nicht überprüfen und Berechnungen durchführen müssen. –
Eigentlich erlaubt das Plugin nicht, den Standort alle x Minuten für iOS zu aktualisieren, wie der Besitzer hier angibt: https://forum.ionicframework.com/t/get-location-background-and-foreground-every-5 -minutes-for-private-app/31101/9 –