Benachrichtigungen für neue Nachrichten am Smartphone

Oder wie ich Matrix ohne Google-Services Benachrichtigen lassen kann

Ich betreibe ja meinen eigenen #Matrix-Server, weil ich mein Leben #entgooglisieren will. Android aber ist schwer googlifiziert… Und so laufen viele Benachrichtigungen nach wie vor über Googles Firebase Cloud Messging-Service… Google kriegt also nach wie vor mit, wann du Nachrichten bekommst.

Über #FDroid installierte Apps arbeiten aber nach einem anderen Prinzip. Die Applikation wird meist mittels einer dauerhaften Benachrichtigung “wach” gehalten, damit die App selbst am Server nach neuen Nachrichten sehen und dann eine Benachrichtigung auslösen kann. Das kostet Strom.

Prinzipiell ist die Idee hinter Googles Firebase Cloud Messaging (#FCM) ja sehr klug. EINE App am Smartphone bleibt wach, alle anderen schlafen, und die eine App kriegt von allen anderen die Notifikationen über einen Server. Das spart wirklich viel Akkulaufzeit und gibt Google die volle Kontrolle über euer Kommunikationsgeschehen…

Seit geraumer Zeit gibt es dafür einige neue Ansätze. Einer davon ist Unifiedpush. Es gibt auch schon ein paar Apps, die diesen Ansatz unterstützen. Ich habe als erstes gotify ausprobiert. Scheiterte aber zuerst an einem #nginx mit lua, hab das dann einige Wochen ruhen und rasten lassen und ging das Projekt jetzt erneut an. Dabei habe ich dann mithilfe der Devs in der Matrix-Gruppe für Unifiedpush herausgefunden, dass man entweder den gotify-Server + Nginx mit Lua als Proxy benötigt, oder den gotify-Server + common-proxies. Ich hab mich dann für zweiteres entschieden. Beides als systemd-service auf meinem Proxy-Server installiert und mit Fluffy- sowie #Schildichat ausprobiert. Dazu muss man am Smartphone noch Gotifyup aus dem F-Droid-Store installieren… Ich konnte zwar Nachrichten an gotify schicken und die kamen auch am Smartphone an. Aber zuverlässig ist anders… Matrix-Notifikationen kamen gar nicht an.

Dann kam ich wieder auf den Schuh mittels der Nextcloud-Push Applikation. #Nextcloud bietet einen eigenen Push-Service Der besteht aus einer App am Server (siehe Link vorhin) und einer App am Smartphone. Diese lauscht wiederum ständig am Server und erzeugt dann Notifikationen für diverse Nextcloud-Services. Genau diese Nextcloud-App am Smartphone kann man auch für Matrix-Benachrichtigungen heranziehen. Am Handy muss die Android-App heruntergeladen und installiert werden. Authentifikation an der Nextcloud kann über die Nextcloud-App direkt erfolgen. Am Server wird dann die Server App entsprechend der Anleitung geladen. Einfach ein git clone in den App-Ordner. Dann in der Web-Oberfläche aktivieren und die Anpassungen in der Webserver-Config (Apache und nginx sind im Link beschrieben) machen. Diese bestehen einfach in einer einzigen zusätzlichen location-Definition.

Fluffychat konnte ich bislang noch nicht überreden, dass es mit dieser Notification funktioniert. Schildichat kann in “Einstellungen->Benachrichtigungen->Re-Register push distributor” dann die Nextcloud push App auswählen. Bzw. wenn die Nextcloud-Push App die einzige am Smartphone ist (GotifyUp deinstalliert), dann wird man nicht gefragt, es wird automatisch diese genommen.

Die Benachrichtigungen funktionieren damit jetzt einmal gut. Es wird nur einmal benachrichtigt, auch wenn mehrere Nachrichten kommen. Erst wenn die Notifikation angeklickt wird (man wird direkt zu Schildichat weitergeleitet) kommt für die nächste Nachricht wieder eine Benachrichtigung.

Wie zuverlässig beim Einschlafen des Handys die Benachrichtigungen funktionieren muss ich erst testen.

Jedenfalls sieht der Weg über die eigene Nextcloud als UnifiedPush-Server für mich vielversprechend aus.