Sprung zum Inhalt

Webdesign nach Maß von webdesign weisshart

Mein Blog

RSS Feed AbonnementRSS 2.0 Feed

zum Archiv und den Kategorien

Push Benachrichtigung von PHP an Smartphones

Sonntag, 2. Oktober 2016

Die Aufgabe:

Eine Website soll im Anschluss an eine bestimmte Aktion (Beispiel: User betritt einen Support-Chat) eine Push Benachrichtigung ans Smartphone senden.

Eine Lösungsmöglichkeit:

Man schickt per PHP eine Nachricht an einen Messenger, und lässt diesen die Push Benachrichtigung erledigen.
Als Messenger hierfür bietet sich Telegram an. Telegram bietet, anders als beispielsweise WhatsApp, eigens zu diesem Zweck eine Bot API.

Screenshot
Die Push Meldung auf dem iPhone:
"[Uhrzeit] [Username] hat den Chat betreten."

Eine kurze Anleitung zur Einrichtung eines Telegram Bots

tl;dr

Voraussetzung: Telegram Messenger ist auf einem oder mehreren Geräten installiert und registriert. (Hinweis: Es ist für unsere Zwecke übrigens nicht nötig, Telegram den Zugriff auf Kontakte zu erlauben.)

  1. BotFather integrieren. Dazu den Nutzer @botfather hinzufügen, z. B. über die Suchfunktion.
  2. Nun an den "Nutzer" BotFather die Nachricht /newbot senden. Der BotFather stellt dann einige Fragen, u.a. nach dem gewünschten Namen des zu erstellenden Bots (Beispiel: chatbot), und teilt nach Abschluss der kurzen Routine den token mit. In der Form

    Use this token to access the HTTP API:
    1234567:AAEVcn-_ad99DmQvGTMpWGz7tCjzc9fq-os

  3. Jetzt schicken wir aus der Telegram App eine beliebige Nachricht an den eben von uns erstellten Bot (chatbot).
  4. Nun rufen wir im Browser folgende Seite auf:
    https://api.telegram.org/bot<token>/getUpdates, wobei an Stelle von <token> natürlich der wirkliche token kommt.
  5. Nach dem Absenden zeigt die obige Seite etwas wie:

    {"ok":true,"result":[{"update_id":638422092,
    "message":{"message_id":9,"from":{"id":268963852,"first_name":"Max"},"chat":{"id":-268963852,"first_name":"Max"}," date":1437389925,"text":"c"}},{"update_id":638422093,

    Aus dieser Anzeige brauchen wir nur die ID (in obigem Beispiel also -268963852

  6. Nun können wir per HTTP eine Nachricht an unseren Bot (chatbot) schicken, durch Aufruf des folgenden URL im Browser:
    https://api.telegram.org/bot<token>/sendMessage?chat_id=<ID>&text="Hallo Welt!"
    Wieder ersetzen wir natürlich <token> und <ID> durch die entsprechenden Werte.
  7. Fertig. Die Nachricht "Hallo Welt!" wird auf unser Geräte gepushed.

So weit, so gut. Aber so macht das Ganze natürlich noch nicht wirklich Sinn.
Sinn macht es aber, den obigen URL mit PHP mittels cURL aufzurufen, nachdem eine bestimmte Aktion erfolgt ist, z. B. User betritt den Chatraum. Mit PHP kann man dann natürlich auch noch den Text sinnvoll gestalten, indem als text entsprechende Variablen eingesetzt werden (im Beispiel: Uhrzeit und Username).



2 Kommentare

  1. Eine tolle Beschreibung! Ich habe es entsprechend Deiner Anleitung in meinen ehrenamtlichen Support-Chat eingebunden. Jetzt entgeht mir keine Anfrage mehr. Super! Vielen Dank!

    Kommentar von axarix — Montag, 3. Oktober 2016 - 2:36 Uhr

  2. Bin schon ganz heiß drauf. Muss aber erstmal den Umgang mit Telegram lernen.
    Die Idee ist einfach Klasse :-)

    Kommentar von Mina — Mittwoch, 5. Oktober 2016 - 21:30 Uhr

Einen Kommentar abgeben

Damit Code-Beispiele richtig angezeigt werden, müssen Sonderzeichen maskiert werden (z.B. < zu &lt;).


(notwendig)

(notwendig)

Spamschutz:
Je nach Inhalt wird Ihr Kommentar eventuell nicht sofort angezeigt, sondern muss manuell freigeschaltet werden.

Archiv:

Kategorien:

Creative Commons Lizenzvertrag
Alle Texte (nicht Bilder!) Creative Commons CC BY-NC-SA 3.0 DE