Warum und wie effizient ist die Push-Benachrichtigung (wie GCM) der Batterie?

Wollten Sie verstehen, warum Push-Benachrichtigungen wie Google Cloud Messaging (früher als Google Cloud to Device Messaging bezeichnet) akkufreundlicher für die Cloud <-> Gerätekommunikation sind?

Meiner Ansicht nach beinhalten die alternativen Technologien das "Polling" (über TCP / IP), während die Verbindung mit Keep-Alives im Status CONNECTED gehalten wird. Oder gibt es etwas besseres?

Mein begrenztes Verständnis von GCM ist, dass es auch TCP / IP und Keepalives verwendet, aber der Client den Server niemals nach dem Status abfragt. Stattdessen informiert der Server den Client über eine eingehende Nachricht, und Anwendungen, die bestimmte Nachrichtentypen abonnieren, werden asynchron über die Nachricht benachrichtigt. Darüber hinaus wird die gemeinsame GCM-Verbindung von mehreren Anwendungen gemeinsam genutzt, sodass die Geräteelektronik zu "koordinierten" Zeiten in den Ruhezustand / Ruhezustand versetzt wird, ohne dass bei mehreren Anwendungen die Elektronik mehr "EIN" (elektrisch aktiv) bleibt, als sie sein muss. Ist das das richtige Verständnis? Oder steckt noch mehr dahinter?

Wie genau ist dieser Vergleich mit MQTT über TCP / IP mit Keepalives? Was sind die Gründe dafür, dass MQTT (anscheinend) weniger batterieeffizient ist als GCM?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage