Ein einfacher Weg zur Smartphone Notification

Smartphone Notification über einen kostenfreien Dienst

Verschiedene Anwendungsfälle erfordern es, dass man sich eine Benachrichtigung  bzw. eine Smartphone Notification schicken lässt.

Will man über bestimmte Ereignisse z.B. eines Raspberry Pi oder Ergebnisse einer automatisierten Webseite-Interkation informieren, bietet es sich an einen freien Dient zu nutzen. Instapush z.B. bietet als kostenlose Variante an über eine definierte API Push Notification zum Smartphone zu versenden. Der Dienst ist kostenlos und für Android oder iPhone verfügbar.

Es ist nötig sich aus dem jeweiligen Store die Instapush app zu installieren und mit wenigen Handgriffen zu konfigurieren. Sobald über das Instapush API eine Information publiziert werden soll, meldet sich sofort die Instapush App auf dem Smartphone.

 Update: (20.11.2017) : Ich habe festgestellt, dass die Instapush App ab Android Version 6 noch Nachrichten empfängt, aber keine Benachrichtigungstöne mehr abspielt. Bewertungen und Kommentare im Play Store der App bestätigen das Verhalten. Die Tatsache, dass die App keine Benachrichtigungstöne mehr von sich gibt, stellt die Nutzbarkeit der App in Frage. Wer noch eine ältere Android Version nutzt, kann die App und die Anleitung gerne weiterhin noch nutzen.

Was ist nötig, um sich eine Push Notification zum Smartphone schicken zu lassen?

  1. Einen Instapush.im Account und eine installierte App auf einem Smartphone
  2. Eine Instapush Konfiguration
  3. Einen Stückchen Software, welches die Instapush API mit Daten versorgt

Der Instapush Account

Sehr unkompliziert ist der Account angelegt unter: https://instapush.im  Sobald die App installiert ist, fragt die App nach den E-Mail Zugangsdaten. Nach dem Konfigurieren sieht man seine Gerätekonfiguration auf der Instapush Weboberfläche

instapush geräte übersicht

Instapush Geräteübersicht

Die Konfiguration

  1. Klicke im Dashboard auf APPS
  2. Klicke Add Application
  3. Vergib einen Namen für die App Konfiguration. Bei Bedarf kannst du mehrere anlegen.
  4. Jetzt muss ein Ereignis angelegt werten. Je nachdem, was für ein Ereignis stattfindet, ist ein vernünftiger Name sinnvoll. Ich benenne das Ereignis einfach „Benachrichtigung“
  5. In Tracker und Message trage ich jetzt der Einfachheit halber „message“ ein, damit das bloße Feststellen eines Ereignisses genügt.

 

instapush application configuration push notification zum smartphone

App Konfiguration

instapush application configuration push notification zum smartphone

 

Nach dem Anlegen des Ereignisses kann man sich die API-Schlüssel Informationen anzeigen lassen:

Schlüsselwerte zur App Smartphone notification über push

Schlüsselwerte zur App

Diese Schlüsselinformationen müssen in die Software integriert werden, die die Nachricht versenden soll.

Python und CURL

Damit per Python der CURL Request gesendet werden kann, muss die CURL Erweiterung installiert sein. Voraussetzung ist ein installiertes Python.

Wer sich gern erstmal in Python einlesen mag, dem sei das das Grundlagenbuch zu Python sehr empfohlen.

Windows:
  1. Für Python die Erweiterung PyCURL laden
  2. PycURL  zip file entpacken und den inhalt von site-package in den python ordner der lokalen Installation kopieren(z.B. C:/Python34/Lib/site-package)
Linux:

Mit folgendem Kommando kann cURL für Python nachinstalliert werden.

sudo apt-get install python-pycurl

Push Notification zum Smartphone per Python

Mit folgendem beispielhaftem Python Code kann die Nachricht an instapush.im übergeben werden:

import pycurl, json
from io import StringIO
 
# Die Instapush Application ID setzen
appID = "557___YOR_APP_ID___a8"
 
# Das Instapush Application Secret setzen
appSecret = "5b____YOR_SECRET____fbf"
 
# Der Application Name.
benachrichtigung = "benachrichtigung"
 
# Die Nachricht, die transportiert werden soll
pushMessage = "KITAPLATZ GEFUNDEN!"
 
# via Curl die Nachricht zu Instapush übertragen
request = pycurl.Curl()
 
# set Instapush API URL
request.setopt(request.URL, 'https://api.instapush.im/v1/post')
 
# Den CURL Request entsprechend parametrisieren
request.setopt(request.HTTPHEADER, ['x-instapush-appid: ' + appID,
'x-instapush-appsecret: ' + appSecret,
'Content-Type: application/json'])
 
# eine JSON Struktur erstellen
json_fields = {}
json_fields['event']=benachrichtigung
json_fields['trackers'] = {}
json_fields['trackers']['message']=pushMessage
 
postfields = json.dumps(json_fields)
 
# Die JSON Struktur an den Request binden
request.setopt(request.POSTFIELDS, postfields)
 
# Die Nachricht versenden
request.perform()

Das Ergbnis

Nach dem Ausführen des Python Code wird die Notification zum Smartphone gesandt:

Smartphone Notification über push

Push Notification auf dem Smartphone

Quellen:

Heiko

2 Comments

  1. Antworten Ohm

    Hallo Herr Böhme,

    wie ich finde ist es ein gutes Tutorial. Jedoch bekomme ich bei Start des Scriptes auf dem Raspberry immer eine Fehlermeldung, sodass die Überschrift des Events nicht gesendet wird. Die Benachichtigung aber ankommt.

  2. Antworten Heiko Böhme

    Hallo Herr Ohm,

    ich hab mir Instapush nochmal in Ruhe angesehen und mir ist aufgefallen, dass die App seit der Android Version 6 scheinbar mehr weiterentwickelt wird. Benachrichtigungen kommen zwar an, aber es sind keine Benachrichtigungstöne mehr zu hören. Aus meiner Sicht ist das für deinen Einsatzzweck vermutlich nicht ausreichend. Ansonsten müsste man nun mal die Parametrisierung und Konfiguration abgleichen. Ich würde mir ggf. mal Gedanken über eine Alternative machen wollen.

    Beste Grüße
    Heiko

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.

WordPress Cookie Hinweis von Real Cookie Banner