Original Coast Clothing (OCC) ist eine fiktive Bekleidungsmarke zur Darstellung wichtiger Features der Messenger-Plattform. In diesem Leitfaden erfährst du, wie du den Code für diese Beispiel-App in deine lokale Umgebung oder auf den Remote-Server herunterlädst, damit du mehr über die Features von Messenger erfährst. Um dir das gesamte Messenger-Erlebnis mit mehreren Zugangspunkten zu präsentieren, verfügt unser fiktives Unternehmen über die folgenden Features:
|
Diese Beispiel-App nutzt die folgenden Features:
Wenn du am Ende dieses Leitfadens angelangt bist, hast du eine komplette, funktionsfähige Messenger-App auf deinem Server, die Nachrichten von deiner Testseite beantwortet.
Voraussetzungen:
CREATE_CONTENT
-Aufgabe ausführen kannWenn du gesonderte Umgebungen für Entwicklung, Staging und Produktion besitzt, benötigt jede dieser Umgebungen eine eigene Meta-App und Facebook-Seite.
Um die Beispiel-App in deiner lokalen Umgebung auszuführen, benötigst du NodeJS 10.x oder höher.
Klone das original-coast-clothing
-Repository auf dem lokalen Rechner.
git clone https://github.com/fbsamples/original-coast-clothing.git cd original-coast-clothing
yarn install
Um Nachrichten zu empfangen, muss es möglich sein, eingehende Webhooks von unseren Servern zu erhalten.
Wenn du eine externe Adresse benötigst, verwende ngrok
, da damit eine externe HTTPS-Adresse bereitgestellt wird, die einen Tunnel in deine NodeJS-App herstellt.
ngrok
installieren
npm install -g ngrok
Einen Tunnel zu deinem lokalen Server mit deinem bevorzugten Port anfordern
ngrok http 3000
Der Bildschirm sollte den Status ngrok
aufweisen:
Session Status online
Account Redacted (Plan: Free)
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding http://1c3b838deacb.ngrok.io -> http://localhost:3000
Forwarding https://1c3b838deacb.ngrok.io -> http://localhost:3000
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
Notiere die https
-URL des externen Servers, der die Weiterleitung an den lokalen Rechner vornimmt. Im obigen Beispiel lautet sie https://1c3b838deacb.ngrok.io
.
Vorlage der Beispielumgebung in deine App kopieren
mv .sample.env .env
Deine Umgebungswerte hinzufügen
Bearbeite die Datei .env
, um die Werte für deine Facebook-App-ID, deine Facebook-Seiten-ID, deinen Seiten-Zugriffsschlüssel und den App-Geheimcode hinzuzufügen. Lege den Wert von VERIFY_TOKEN
auf einen zufälligen String fest. Die App verwendet ihn zur Validierung von API-Aufrufen.
node app.js
Du müsstest jetzt deine App in deinem Browser unter http://localhost:3000
aufrufen können.
Führe den folgenden Befehl aus, um die Webhook-Abonnementeinstellungen für deine App und das Seiten-Messenger-Profil zu konfigurieren. Beachte, dass du den in der .env
-Datei eingetragenen VERIFY_TOKEN
-Wert verwenden musst.
http://localhost:3000/profile?mode=all&verify_token=<VERIFY_TOKEN>
Sende von Facebook aus oder im Messenger eine Nachricht an deine Seite. Wenn dein Webhook ein Event empfängt, hast du deine App komplett eingerichtet.
Bearbeite die Datei locales/en_US.json, indem du die Nachricht unter get_started.welcome, nämlich „Hallo {{userFirstName}}! Willkommen bei Original Coast Clothing ...“, änderst.
Bei jeder Änderung des Codes musst du am ersten Terminal den NodeJS-Server neu starten. Halte den Server mit Strg-C an und starte ihn wieder, um den neuen Code zu laden.
node app.js
Öffne deinen Messenger und sende deiner Seite das Wort „Hallo“. Du müsstest jetzt die neue Nachricht erhalten.
Eine Heroku-Instanz kann hilfreich sein, um die Produktions- oder Staging-Umgebung deiner Business-App oder Website zu hosten.
git init heroku apps:create # Creating app... done, ⬢ YOUR-APP-NAME # Created http://YOUR-APP-NAME.herokuapp.com/ | git@heroku.com:YOUR-APP-NAME.git
heroku git:remote -a YOUR-APP-NAME git push heroku master
Rufe die Config Vars deiner App im Dashboard der Heroku-App unter „Einstellungen“ ab. Füge die Werte für deine Facebook-App-ID, deine Facebook-Seiten-ID, deinen Seiten-Zugriffsschlüssel und den App-Geheimcode hinzu und erstelle ein VERIFY_TOKEN
.
Jetzt müsstest du auf die App zugreifen können. Verwende das als Config Vars erstellte VERIFY_TOKEN
und rufe den /profile-Endpunkt auf.
https://YOUR-APP-NAME.herokuapp.com/profile?mode=all&verify_token=<VERIFY_TOKEN>
Optional Über die oben angegebene URL werden die IDs von hochgeladenen Personen zurückgegeben. Da sie im Speicher gehalten werden, musst du diese zurückgegebenen IDs als Config Vars hinzufügen, damit sie nach einem Neuladen nicht verloren sind.
heroku config:set PERSONA_BILLING=<PERSONA_ID> -a YOUR-APP-NAME heroku config:set PERSONA_ORDER=<PERSONA_ID> -a YOUR-APP-NAME heroku config:set PERSONA_SALES=<PERSONA_ID> -a YOUR-APP-NAME
Sende eine Nachricht von Facebook oder in Messenger an deine Seite. Wenn dein Webhook ein Event empfängt, hast du die App vollständig eingerichtet.
Nach der Ausführung von ngrok wird eine neue externe Adresse bereitgestellt. Aktualisiere die APP_URL
-Adresse in der .env
-Datei und führe dann den NodeJS-Server aus.
node app.js
Aktualisiere die Webhook-Adresse in den Facebook-App-Einstellungen. Gehe dazu zu http://localhost:3000/profile?mode=webhook&verify_token=<VERIFY_TOKEN>
.
Die Facebook-App befindet sich wahrscheinlich noch im Entwicklungsmodus. Du kannst jemanden als Tester der App hinzufügen. Wenn er zustimmt, kann die App ihm eine Nachricht zusenden. Wenn du fertig bist, kannst du die pages_messaging
-Berechtigung hinzufügen, um beliebigen Nutzer*innen antworten zu können.