Ohne mit dem Zeigefinger jemanden die Schuld zuweisen zu wollen, das Problem besteht nach all den Jahren immer noch. Und mich interessiert einfach aus technischer Sicht wie so etwas passieren kann, weil:
Wieso passiert das?
Google versucht seit den letzten paar Versionen von Android, das Betriebssystem auf Energiesparen zu trimmen und immer mehr zu vernageln, damit bösartige oder schlecht programmierte Apps keine Möglichkeiten haben, den Akku leerzusaugen oder hohe Kosten für die Datenübertragung im Mobilnetz zu verursachen. Die Massnahmen von Google sind noch einigermassen handhabbar und Threema funktioniert problemlos auf einem Nexus/Pixel-Gerät mit den Werkseinstellungen. Dazu kommen aber verschiedene weitere Akkuspar-Massnahmen der Handy-Hersteller, die sich von Gerät zu Gerät unterscheiden. Bei mehr als 10.000 verschiedenen Handymodellen mit Android ist die Situation sehr unübersichtlich.
Was sind die hauptsächlichen Ursachen?
1. Hintergrundausführung
Akkusparmassnahmen können verhindern, dass eine App ausgeführt werden kann, wenn sie sich im Hintergrund befindet, oder die Ausführung ist nur auf gewisse Zeitfenster beschränkt bzw. Apps können nur dann kurzzeitig ausgeführt werden, wenn Sie von einer GCM-Push-Nachricht geweckt wurden.
2. Hintergrunddaten
Deaktivierte Hintergrunddaten oder ein aktivierter Datensparmodus (ab Android 7.0) führen dazu, dass eine App keine Daten übertragen kann, wenn sie sich im Hintergrund befindet
3. Akkuspar- und Systemoptimierungs-Apps
Solche Apps benutzen allerlei Tricks, um andere Apps zu beenden oder zu stören. Sie sind absolut nutzlos und haben erwiesenermassen keinen positiven Effekt auf die Laufzeit des Akkus.
Wieso betrifft das Threema besonders?
Threema überträgt im Gegensatz zu anderen Apps keine Daten über die Push-Nachricht. Beim Empfang einer solchen Push-Nachricht stellt Threema eine Verbindung zum Threema-Server her und holt dort die Nachricht ab, entschlüsselt sie und zeigt erst dann eine Benachrichtigung an. Damit das funktioniert, müssen drei Bedingungen erfüllt sein:
- Threema darf nicht erzwungen beendet sein (z.B. durch 3.)
- Threema muss im Hintergrund ausgeführt werden können (1.)
- Threema muss im Hintergrund Daten übertragen können (2.)
Wieso ist [andere bekannte App] nicht betroffen?
- Andere Apps sind auf dem Handy vorinstalliert und/oder whitelisted, d.h. werkseitig von den Sparmassnahmen ausgeschlossen
- Andere Apps transportieren die Nachrichtenvorschau direkt in der Push-Nachricht
Was kann man dagegen tun?
Das Problem ist nicht universell lösbar, wenn man keine Kompromisse bei der Sicherheit machen möchte. Es braucht ein Mitdenken des Nutzers beim Konfigurieren des Handys. Threema bietet unter Einstellungen > Fehlerbehebung einige Optionen für die betroffenen Nutzer, das Problem zu umgehen bzw. Fehlkonfigurationen zu erkennen und selbst zu beheben. Diese Optionen werden weiter ausgebaut.
- Sofortige Benachrichtigungen: Eine Benachrichtigung wird angezeigt, sobald die Nachricht empfangen wurde, auch wenn der Inhalt innerhalb des Zeitfensters nicht oder nicht vollständig heruntergeladen werden konnte
- Push-Probleme beheben: Führt den Nutzer zu den Einstellungen für die «App-Optimierung» (bei der Shop-Version von Threema kann man diese Akkupsar-Funktion damit direkt ausschalten lassen, bei Google Play ist dies leider verboten)
[hr]Ich möchte nochmals betonen, dass die Benachrichtigung über neue Nachrichten bei Threema gemäss unseren Tests bei den meisten handelsüblichen Marken-Handys (einige China-Modelle wie Xiaomi und Huawei ausgenommen) ohne Änderungen an der werkseitigen Konfiguration zuverlässig funktioniert.
Die Probleme tauchen oft erst dann auf, wenn die Nutzer an der Konfiguration etwas ändern, ohne sich über die Konsequenzen im Klaren zu sein.
"Datensparmodus? Ich will Daten sparen, also einschalten"
"Akkusparmodus? Mein Akku könnte ruhig länger halten, also einschalten"
...