2016-04-10 8 views
2

Ich möchte Live-Updates zu einem Telefon an meine App senden, ungefähr 1KB/Sek. Es ist akzeptabel, wenn die Updates aus Gründen des Energiemanagements in Chargen einmal pro Minute ausgeführt werden, da Google angibt, dass durch das Ablassen der Batterie das Radio eingeschaltet wird und ein Radio nach 15 Sekunden abfällt. Was ist das geeignete Werkzeug zu verwenden?Wie sende ich Live-Updates an mein Android-Gerät?

  1. Websockets/Stomp. Das verwende ich bereits für den Browser-Client. Meine Sorge ist jedoch, dass das Radio eingeschaltet bleibt und die Batterie zerstört wird.
  2. Google Cloud Messaging. Google verspricht, dass es batterieleistungsfähig ist, aber wie ist es live? Wer kontrolliert die Häufigkeit von Stößen? Ist es für viele Daten ausgelegt? Muss es für jeden Push Benachrichtigungen machen, was für mich höchst unerwünscht wäre, da es jede Sekunde ein Push ist.
  3. Amazon SNS. Ich verwende bereits Amazon AWS, damit es gut zum Profil passt. Wie gut ist es mit Power-Management?
  4. Etwas anderes, dass ich nicht weiß, von

Antwort

2

Es ist jetzt https://firebase.google.com/docs/cloud-messaging/

Firebase Cloud Messaging (FCM) ist eine plattformübergreifende Messaging-Lösung , die Sie zuverlässig Nachrichten und Benachrichtigungen liefern können Um keinen Preis.

und

Für Anwendungsfälle, wie beispielsweise Instant-Messaging kann eine Nachrichtenübertragung eine Nutzlast von bis zu 4 kB auf eine Client-Anwendung.

FCM ist die neue Version von GCM unter der Marke Firebase. (read more about FCM v GCM und limits and pricing)

Wie Sie

die Updates schreiben kommen etwa einmal pro Minute in Chargen

der Server benachrichtigt werden könnte, wenn eine neue Charge fertig ist, statt jeden zweite.

Anstatt die Payload mit der Benachrichtigung zu übertragen, könnte die App eine HTTP (S) -Verbindung verwenden, um die Payload abzurufen. Dies würde es ermöglichen, alle Aktualisierungen in einem Stapel mit einer HTTP-Anforderung herunterzuladen, was effizienter (weniger Overhead) sein könnte.