PushOver.net: Scriptgesteuerte Push-Notifications für iOS und Android

30.10.2014 yahe administration code legacy linux

Letztens durfte ich einen relativ langwierigen Download via SFTP vornehmen. Da ich allerdings nicht vor dem Rechner sitzen bleiben und auf die Beendigung warten wollte, bin ich immer wieder an den PC gegangen, um den aktuellen Status zu sehen. Dabei kam mir die Idee, dass es doch toll wäre, einen Dienst zu haben, den man per einfacher REST-API ansprechen könnte, um einen Status mitzuteilen. Der Dienst könnte es dann ermöglichen, diesen Status z.B. über einen Browser abzurufen. @servicecase18 hatte jedoch einen viel besseren Tipp: Er verwendet für soetwas den Dienst PushOver.net, der im Grunde das macht, was ich möchte, nur besser. Sie bieten ebenfalls eine einfache REST-API an, versenden den Status dann jedoch als Push-Notification an ihre iOS- und Android-App. So hat man den Status direkt auf dem Smartphone.

Wenn man sich registriert, erhält der neue Account einen "User Key". Nachrichten, die an den User Key geschickt werden, landen auf jedem Gerät, bei dem man mit dem zugehörigen Account in der App eingeloggt ist. Zudem kann man mit seinem Account auch "Applications" registrieren, wobei jede Application ein "Application Token" erhält. Um nun eine Push-Notification zu senden, übergibt man der REST-API mindestens den User Key, den Application Token und die eigentliche Nachricht. Optional gibt es noch weitere Werte, die man setzen kann.

PushOver-App PushOver-App

Das ganze ist so praktisch, dass im Grunde jeder seiner Anwendungen eine Anbindung an den Dienst spendieren möchte.

Push-Notifications Push-Notifications

Da ich allerdings nicht die Absicht habe, allen Skripten ein eigenes Application Token zu besorgen (obwohl das möglich wäre), habe ich mir etwas anderes überlegt. Ich hole mir pro Server nur ein Application Token und verwende ein Skript, das sich zentral um das Versenden der Push Notifications kümmert. Das hat den zusätzlichen Vorteil, dass nicht jedes kleine Skript wissen muss, wie der Versand funktioniert. Stattdessen gibt es einen Ordner, in das jedes Skript einfach Dateien ablegen kann. Der Name der Datei ist der Titel des Push Notification und der Inhalt der Datei ist auch gleichzeitig der Inhalt der Push Notification. Um das Versandskript Pushinfo nicht als Root laufen lassen zu müssen, habe ich mich dazu entschieden, dass versandte Nachrichten nicht gelöscht werden. Stattdessen wird in einer Statusdatei das letzte Bearbeitungsdatum der Dateien notiert. Sollte sich die Datei ändern (und damit das entsprechende Dateidatum), so wird der Inhalt erneut versendet. Das ganze sollte man nun natürlich regelmäßig ausführen lassen, z.B. per Cron.


Search

Categories

administration (40)
arduino (12)
calcpw (2)
code (33)
hardware (16)
java (2)
legacy (113)
linux (27)
publicity (6)
review (2)
security (58)
thoughts (21)
windows (17)
wordpress (19)