Wie GCM Service aufwecken? (WhatsApp Push Benachrichtigungen funktionieren nicht)

Foh

Foh

Fortgeschrittenes Mitglied
Threadstarter
Hallo Leutz,

ich habe ein Problem mit WhatsApp und anderen Apps die den GoogleMessagingService für die Push Benachrichtigungen nutzen..
Wenn das Phone ein paar Minuten im Standby ist kommen Nachrichten manchmal erst Stunden später bei mir an. Ich gehe davon aus, dass es daran liegt, dass der GCM Service einschläft.

Wenn ich z.B. WhatsApp Nachrichten empfangen will habe ich nur die folgenden Möglichkeiten damit die Nachrichten abgerufen werden:

1. WhatsApp öffnen
2. Eine alte WhatsApp Benachrichtigung aus der Android QuickInfo als gelesen markieren
3. Eine andere App öffnen die den GCM Service nutzt (z.B. EbayKleinanzeigen, o.ä.)
4. Das Netzwerk wechseln, oder kurz aus- und wieder einschalten.
5. Phone neu starten.

Wenn ich es richtig beobachtet habe, ist in den Zeiten wo keine Nachrichten ankommen, sowohl der WhatsApp MessageService, als auch der GCM Service nicht aktiv.
Durch die 5 oben genannten Aktionen wird einer der beiden Services scheinbar wieder aufgeweckt, so vermute ich, und erst dann werden die Nachrichten abgerufen.

Ob das Problem nun an WhatsApp, oder an der GoogleDiensten liegt, ist mir nicht klar. Tatsache ist jedenfalls, dass die Dienste der beiden Apps nicht korrekt zusammen funktionieren.

An den Einstellungen meines Phone kann es auch nicht liegen. Ich nutze Android 4.12 Stock Rom, und habe keine Energiesparmaßnahmen aktiviert. Die Netzwerkverbindung ist durchgehen aktiviert. Andere Apps (z.B. K9-mail) die den GCM Service (soviel ich weiß) NICHT nutzen, funktionieren instant, ohne Probleme.

WhatsApp neu installieren, und sogar das Betriebssystem neu installieren hat auch nichts gebracht. Das Problem kommt immer wieder.
Ich habe auch schon den Heartbeat Fixer for GCM ausprobiert, aber das hilft auch nicht.
https://play.google.com/store/apps/details?id=io.github.mobodev.heartbeatfixerforgcm&hl=de&showAllReviews=true

Im Play Store berichtet ca. jede 4. Bewertung über dieses Push Problem. Ob die anderen User dieses Problem nicht haben, oder ob sie es nur nicht bemerken, wäre die Frage.

Den WhatsApp Support hatte ich schon kontaktiert, aber das ist eine Farce. Der Support tut gerade so, als würden sie zum ersten mal von diesem Problem hören, und sie antworten nur mit Zitaten aus ihren nicht-zutreffenden FAQ … und von Google kann man ohnehin keinen Support erwarten.
Der WhatsApp Support hatte mich sogar um ein Video zum Problem gebeten, was sie sich aber nicht einmal angeschaut haben.
Das Video ist hier zu sehen:

Nun ist die Frage, wie man sich selbst helfen kann …
Man müsste den GCM Service während des Standby irgendwie automatisiert in Intervallen aufwecken (also das simulieren, was passiert, wenn man eine App startet, die den GCM Service nutzt.)
So müsste man gezielt den GCM Service starten.

Z.B. meine AutomationsApp (E-Robot) hat solch eine "Start Service" Funktion, jedoch weiß ich nicht, welche Werte ich dort eintragen müsste.
Einen Screenshot dieser Funktion habe ich angehängt.

Vielleicht kann mir jemand helfen, was ich dort eintragen muss?!


Oder gibt es andere, einfacherer Lösungsmöglichkeiten?

Greetz,
Foh
 

Anhänge

Zuletzt bearbeitet:
swa00

swa00

Moderator
Teammitglied
@Foh


Hallo Foh,

du schreibst, dass du Android 4.12 resp. API 16 benutzt.

Die Ursache besteht eher darin , dass es GCM so in dieser Form nicht mehr gibt.
Der aktuelle Service nennt sich FCM.

GCM wurde im Mai diesen Jahres bereits eingestampft, und wird nur noch für backwards kompatible Testzwecke betrieben.
Die Entwickler wurden seit Anfang 2018 aufgefordert, die Migration durchzuführen.

On April 10, 2018, Google deprecated GCM. The GCM server and client APIs were removed on May 29, 2019. Migrate GCM apps to Firebase Cloud Messaging (FCM), which inherits the reliable and scalable GCM infrastructure, plus many new features. See the migration guide to learn more.
 
Zuletzt bearbeitet:
Foh

Foh

Fortgeschrittenes Mitglied
Threadstarter
Diesen Gedanken hatte ich auch schon. Daher habe ich die aktuellen Google Dienste auf android 4.1.2 und auf android 9 verglichen. Bei P gibt es zwar 18 zusätzliche Dienste, aber einen FCM Service gibt es bei beiden OS Versionen nicht. Daher kann man davon ausgehen, dass bei beiden Varianten der GCM Service die Aufgaben für FCM ausführt.

Insofern der GCM Dienst mit WhatsApp & Co unter P problemlos funktioniert (das habe ich nicht getestet) muss man wohl davon ausgehen, dass P andere Mechanismen hat um den Dienst aktiv zu halten. Unter 4.12 funktionieren dieser Mechanismen aber offensichtlich nicht. Wenn der GCM bei 4.1.2 einmal angehalten wurde, dann aktiviert er sich erst wieder, wenn eine App den GCM Dienst startet. Bei mir startet der Dienst nur beim starten von WhatsApp, oder EbayKleinanzeigen, oder beim booten, oder beim beenden der Netzwerkverbindung.
Daher würde ich sagen, die GoogleDienste, oder zumindest der GCM Dienst, ist mit 4.1.2 nicht kompatibel.

Google wird sich aber wohl kaum für diese "kleinen Problemchen" mit alten Betriebssystemen interessieren, vermute ich.
Daher versuche ich nun selber eine Lösung zu finden, wie ich den GCM Dienst periodisch aufwecken kann.

Wenn mir also irgendjemand verraten könnte was ich in den "Service Starter" meiner Automationsapp eintragen muss um den Dienst im Hintergrund zu aktivieren, dann wäre das doch mal einen Versuch wert.
Ich würde den Dienst dann zumindest alle 30 Minuten, und beim entsperren des Displays aufwecken.

(Alternativ könnte ich auch das Netzwerk periodisch trennen und wieder einschalten, um den GCM zu reaktivieren. Das wäre aber ein Workaround mit der Brechstange)
 
Oben Unten