UPDATE: Bessere Version gibt es jetzt mit Channel Managment.
Als ich auf Android umgestiegen bin musste ich auf meine selbst geschriebenen Apps für Blackberry verzichten. Für vieles gibt es eine Android App, aber z.B. für Exbir gibt es auch nicht mal diese. Eigentlich wollte ich mir wieder meinen eigenen Pushdienst für Android aufbauen, aber momentan fehlt dafür einfach die Zeit.
Dann bin ich auf pushover.net gestoßen. Ein Dienst der einen Push Gateway anbietet und eine Android/iOS app die diese empfängt. Die App kostet 3.66 EUR und diese sind einmalig und es entstehen keine monatlichen Kosten. Ich finde das ist eine ziemlich geniale Idee, weil wer will sich schon monatlich binden. Für die Anbieter ist das auch angenehm und ich denke das diese eine Mischrechnung haben, denn viele werden die App vielleicht nicht lange benutzen.
Wenn man sich registriert hat, muss man eine Applikation erstellen und erhält einen API Key für diese. Im Monat hat man 7,500 Nachrichten inklusive und für ein paar private kleine sachen sollte das Problemlos ausreichen – pro Applikation. Man kann sich natürlich mehrere erstellen ;)
Wie bekomme ich also meine Nachrichten auf die App? Natürlich über die API und diese ist sehr einfach gehalten. Ein einfacher POST Request mit User Key und Privaten Token. Auf der Homepage findet man Beispiele von curl bis Ruby. Das Einbinden von diesem hat keine 10 Minuten gedauert und ich kann mir schon verschiedene Einsatzmöglichkeiten vorstellen. So kann man unnötige Emails loswerden und sein Postfach schonen.
Das rss2pushover Script auf Github ermöglicht es einen RSS feed zu parsen und neue Einträge per pushover.net auf ein Endgerät pushen. Dabei wird eine kleine Datenbank eingesetzt um zu prüfen ob Einträge bereits verarbeitet wurden. Somit erhält man keine doppelten Nachrichten.
Beim Pushen der Nachrichten hat man mehrere Optionen angeben wie z.B. Sound, Wichtigkeit, Link etc.
Push Beispiel:
# send item to pushover.net
my $response = LWP::UserAgent->new()->post(
"https://api.pushover.net/1/messages.json", [
"token" => $PUSH_TOKEN,
"user" => $PUSH_USER,
"message" => $description,
"title" => $title,
"url" => $link,
"url_title" => $title
]);
if ($response->is_success) {
# push accepted
} else {
# push not accepted
}
Einfacher kann man es nicht mehr machen. Bis jetzt sind die Nachrichten immer direkt und ohne merkbare Verzögerung angekommen. Mal schauen wo man das noch überall einbauen kann :)