2016-08-05 20 views
0

Ich habe viele APIs für Job Scheduling gesehen, wenn ich schon erwähnt, kann:Firebase JobScheduling in der Cloud | Wie die Server SDK verwenden für Jobsteuerung

  • AlarmManager
  • JobScheduler
  • JobSchedulerCompat
  • GCMNetworkManager

Und was ich versuche ist, ein Benutzer legt ein Datum zusammen mit einer Kampagne fest, er hat es in Firebase gespeichert, und wenn das da ist Das erstellte Objekt wird gelöscht. Ich habe etwas ähnliches mit Parse gesehen, aber wie Sie vielleicht wissen, wird es heruntergefahren und ich speichere meine Daten sowieso in Firebase.

jedoch AlarmManager sicherlich nicht die Aufgabe, macht in der Wolke (Der Dienst wird nicht auf dem Gerät laufen, aber in der Cloud.)

JobScheduler ist nicht verfügbar für Vorlutscher.

JobSchedulerCompat ist veraltet „Es gibt keine Garantie dafür wird Ihr Gerät oder Drain Ihre Batterie nicht explodieren“ und ich glaube nicht, dass es sowieso in der Cloud läuft.

Und ich bin mir nicht sicher über GCMNetworkManager. Läuft es in der Cloud oder ist es auf dem Gerät? Tough-Beispiel: Wenn der Benutzer, der meine App verwendet, sein Gerät heruntergefahren hat, wird die Aufgabe weiterhin ausgeführt?


Lange Frage kurz: Hat GCMNetworkManager laufen in der Cloud? Wenn nicht, welche Alternativen habe ich?


Edit: @ Qbix Antwort gab mir einen Tipp, aber ich kann immer noch nichts von diesem Link verstehen. Wenn jemand meine Frage zusammen mit einem Beispiel beantwortet, wird ihm das Kopfgeld zugesprochen. Dies beinhaltet @qbix.

+0

Ich wünschte, ich hätte mehr Zeit, um daran zu arbeiten. Haben Sie das Projekt [Quick Start] (https://github.com/firebase/quickstart-java/tree/master/database) gesehen? Es wird hilfreich sein, wenn Sie keine detaillierte Antwort erhalten. –

Antwort

1

Nein, GCMNetworkManager läuft nicht in der Cloud. Es läuft auf dem Gerät genau wie die anderen Scheduler, die Sie aufgelistet haben. Wenn Sie Ihre Anforderungen richtig verstanden haben, sollten Sie in die Firebase Server SDK schauen. Sie würden eine Serveraufgabe mit eingeschränkten Berechtigungen erstellen, um auf die entsprechenden Bereiche Ihrer Datenbank zuzugreifen. Es würde die erforderliche Datenbankwartung für alle Benutzer in regelmäßigen Abständen durchführen.

+0

Das Firebase-Server-SDK sieht zwar gut aus, sieht aber wie eine Datenbank aus. Müsste ich meine ganze App dorthin migrieren? Oder gibt es nur einen Code, um eine Aufgabe zu erledigen? Und ich habe keinen Code zum Speichern einer Aufgabe gefunden oder liege ich falsch? Können Sie mir ein Beispiel geben? –

+0

Ich werde Ihnen insgesamt 50 Reputation verleihen, wenn Sie mich mit einem Beispiel versorgen und meine Fragen im vorherigen Kommentar beantworten. –