2015-04-28 12 views
6

Ich würde gerne wissen, ob Meteor mit meinem Anwendungsfall arbeiten kann.Verwenden Sie Meteor im Offline-Modus

Ich habe eine mobile Anwendung, die im App Store verfügbar sein wird. Diese App enthält eine kleine Umfrage, die Benutzer ohne Internetverbindung reagieren. Dann schließt der Benutzer die Anwendung. Ich möchte dann die Daten auf den Server übertragen, wenn die Anwendung online ist.

Wenn jetzt die Anwendung geöffnet bleibt, werden die Daten übertragen, wenn die App online geschaltet wird. Wenn die Anwendung jedoch geschlossen und erneut geöffnet wird, gehen die Daten verloren, die in der Anwendung eingegeben wurden.

Ich versuchte das GroundDB Paket, aber ich schaffte es nicht, es zu arbeiten, um meine Notwendigkeit zu erfüllen.

Kann Meteor mit meinem Anwendungsfall (mit oder ohne Paket) arbeiten? Hast du irgendwelche Beispiele oder Vorschläge?

Dank

Antwort

2

sollten Sie in der Lage sein, dies durch Speichern der Sitzungsdaten zwischen den Sitzungen im localSession Objekt zur Arbeit zu kommen. Sie können einfach das amplify-Paket verwenden, um das Speichern für Sie zu tun.

So stellen Sie sicher, dass die Daten aus der Umfrage in Amplify zu speichern, zum Beispiel wie folgt aus:

amplify.store("survey_data", data); 

Beim Start auf dem Client, können Sie überprüfen, ob diese Daten vorhanden sind:

if (amplify.store("survey_data") { .. } 

und laden Sie es dann auf den Server hoch, indem Sie eine Methode verwenden oder in eine Sammlung einfügen.

Hinweis, dies wird nicht im Hintergrund passieren, aber es sollte funktionieren, wenn der Benutzer die Anwendung erneut öffnet.

+0

Mein erster Test scheint zu funktionieren, aber jetzt, wenn ich meine App schließe, ist amplify.store ("survey_data") beim erneuten Öffnen undefiniert. beim Klicken auf die Schaltfläche: 'amplify.store (" surveyData ", Daten);' beim Start 'if (amplify.store (" surveyData ")) {console.log ("> amplify.store funktioniert :) "); } ' – stivaugoin

+0

' survey_data' vs. 'surveyData'? –

+0

überall verwende ich 'surveyData'. Ich änderte es in "survey_data" nur für den Fall ... ohne Erfolg – stivaugoin

Verwandte Themen