
Flows ist eine leistungsstarke Drag-and-Drop-Automatisierungs-Engine zur Erstellung von Kommunikationsabläufen. Ursprünglich haben wir es als No-Code-Lösung konzipiert, aber wir haben festgestellt, dass viele Benutzer durch das Schreiben von etwas Code für spezifische Anwendungsfälle wirklich leistungsstarkes Verhalten erzielen konnten. Diese Code-Snippets können sich innerhalb des Flow Builder befinden, oder sie können 3rd-Party-Cloud-Funktionen wie AWS Lambda-Funktionen oder Google Cloud Functions sein.
Business in a box.
Entdecken Sie unsere Lösungen.
Sprechen Sie mit unserem Vertriebsteam
Dies ist eine einfache Demonstration der Verwendung von GoogleCloud Functions und Flows, um Bildkennung auf einem über Telegram gesendeten Bild durchzuführen.
Flows und Beyond
Als Entwickler von Flows denke ich oft darüber nach, wer unsere Benutzer sind, warum sie Flows verwenden und was sie benötigen, um ihre Ziele zu erreichen; und dann, welche Funktionen wir implementieren müssen, um diesen Benutzern am besten zu dienen.
Flows ist eine leistungsstarke Drag-and-Drop-Automatisierungs-Engine zur Erstellung von Kommunikationsabläufen. Ursprünglich haben wir es als No-Code-Lösung entwickelt, aber wir haben festgestellt, dass viele Benutzer wirklich leistungsstarkes Verhalten erzielen können, indem sie etwas Code für spezifische Anwendungsfälle schreiben. Diese Codefragmente können innerhalb von Flows sein oder es können 3rd-Party-Cloud-Funktionen wie AWS Lambda-Funktionen oder Google Cloud Functions sein.
Ein interessantes Anwendungsbeispiel: Bilderkennung
Für ein kurzes und lustiges Beispiel zeige ich Ihnen, wie Sie eine App implementieren, die Hotdogs erkennt. Wir werden ein Flow in Flows einrichten, das Bilder von Benutzern empfängt und entscheidet, ob sie einen Hotdog gesendet haben oder nicht.
Für viele unserer Kunden kann diese Art der Bilderkennung sehr leistungsstark sein. Stellen Sie sich vor, Sie betreiben einen Lieferdienst und möchten erfolgreiche Lieferungen automatisch überprüfen. Ähnlich zu dem, was ich zeigen werde, könnten Sie Standortdaten, Fotos von Paketen und sogar Empfängersignaturen verwenden, um einen Verifizierungsablauf in Flows zu erstellen.
Ein Plan für Erfolg
Einrichten der Google Cloud Function
Zuerst müssen wir eine Cloud-Funktion einrichten. Um schnell loszulegen, erstellen Sie eine Cloud-Funktion mit diesem Tutorial: https://cloud.google.com/functions/docs/quickstart-console. Wählen Sie als ‚Trigger‘ den HTTP-Trigger, Ausführungsumgebung: Node.js 10, und fügen Sie im Quellcode-Feld den Code-Snippet ein. Es ist ein einfacher Code, der überprüft, ob die Anfrage JSON-Code enthält und mit ja oder nein antwortet.

Als Nächstes müssen Sie diese Funktion bereitstellen. Um sie in der Google Cloud Platform zu testen, folgen Sie den Schritten aus dem Tutorial.
Um sie von Ihrem Browser aus zu testen, gehen Sie zu der folgenden URL und geben Sie die spezifische Adresse Ihrer Funktion ein:
https://your-function-address.cloudfunctions.net/HotDogOrNot/?url=hello
sollte {“isHotDog”: true} zurückgeben und die Adresse https://your-function-address.cloudfunctions.net/HotDogOrNot
sollte {“isHotDog”: false}. zurückgeben.
Großartige Arbeit! Sie haben eine Google Cloud-Funktion eingerichtet. Jetzt müssen wir unsere Cloud-Funktion intelligenter machen.
Einrichtung der Google Vision API
Um es intelligenter zu machen, fügen wir die Bilderkennung hinzu. Zu diesem Zweck verwenden wir die Google Vision API. Um loszulegen, folgen Sie den Schritten 1-4 dieses Tutorials: https://cloud.google.com/vision/docs/quickstart-client-libraries. Im Tutorial aktivieren Sie die Vision API und erstellen ein Dienstkonto, um sie zu verwenden.
Kehren Sie nun zur erstellten Cloud-Funktion zurück. Schalten Sie „Umgebungsvariablen, Netzwerkoptionen, Zeitüberschreitungen und mehr“ um und wählen Sie im Feld „Dienstkonto“ das VisionAPI-Dienstkonto aus, das Sie gerade erstellt haben. Jetzt können wir in unserer Funktion auf die Vision API zugreifen.

Ändern wir nun den Code. Fügen Sie auf einer „Package.json“-Registerkarte diesen Code ein. Dadurch wird die Google Vision API-Bibliothek als Abhängigkeit Ihrer Funktion hinzugefügt.
Aktualisieren Sie im „Index.js“-Tab den vorhandenen Code mit folgendem Code-Snippet.

Was ist der Unterschied zur vorherigen Version? Wir haben eine Anfrage an die VisionAPI hinzugefügt, die die ‘Labels’ zurückgibt, die sie auf dem Bild gefunden hat. Dann filtern wir diese Labels nach Beschreibung: wenn sie „Hot Dog“ enthält und wenn sie eine höhere Sicherheit als 60 % für dieses Label hat. Wenn nach dem Filtern mindestens 1 Label übrig bleibt, bedeutet das, dass wir einen Hotdog auf dem Bild gefunden haben.
Um zu verstehen, wie Google VisionAPI funktioniert und wie die Antwort aussieht, sehen Sie sich deren Dokumentation an, https://cloud.google.com/vision/docs
Danach setzen Sie die neue Version unserer Funktion ein. Um sie von Ihrem Browser aus zu testen, suchen Sie ein beliebiges Bild eines Hotdogs und speichern Sie dessen URL. Gehen Sie jetzt zur URL Ihrer Funktion (indem Sie die richtige Adresse für Ihre Funktion einfügen) https://your-function-address.cloudfunctions.net/HotDogOrNot?url=url_to_image
und ersetzen Sie die „url_to_image“ durch eine URL zum gefundenen Bild. Wenn sich ein Hotdog im Bild befindet, gibt die Seite {“isHotDog”: true} zurück.
Lassen Sie uns nun diese Funktion mit dem Flow Builder verbinden.
Erstellen eines Flows in Flows
Melden Sie sich beim Bird Dashboard an oder registrieren Sie sich für ein Konto, wenn Sie noch keines haben.
Wenn Sie neu bei Flows sind und noch keine Kanäle eingerichtet haben, müssen Sie zur Seite für die Kanaleinrichtung gehen und die Einrichtung des Telegram-Kanals auswählen. Ich habe Telegram für diese Demo gewählt, weil es einfach und schnell einzurichten ist.

Jetzt haben Sie einen Kanal, den wir in Flows verwenden können. Gehen Sie zur Flows-Seite, erstellen Sie einen neuen benutzerdefinierten Flow und wählen Sie den „Telegram“-Kanal-Trigger.

Sie werden auf eine Flow-Seite weitergeleitet, auf der Sie Ihren Telegram-Kanal als Trigger auswählen sollten, in unserem Fall ist es „Hotdog“. Bitte fügen Sie 2 Schritte hinzu: „Variablen abrufen“ und „Auf Kanalmeldung antworten“.
Im Schritt „Variablen abrufen“ rufen wir unsere Cloud-Funktion auf und speichern die Antwort in die Variable „isHotDog“, die „true“ oder „false“ als Antwort von der GoogleCloud-Funktion enthält. Im URL-Feld bitte die URL zu Ihrer Funktion einfügen https://your-function-address.cloudfunctions.net/HotDogOrNot
und alle anderen Felder wie auf dem Bild "Inhalt des Schrittes Variablen abrufen" ausfüllen.
Und im Schritt „Auf Kanalmeldung antworten“ antworten wir dem Kunden mit einer Nachricht, die die ja oder nein Antwort enthält. Dafür tragen Sie im Feld "Mit Nachricht antworten" den folgenden Text ein: "Hotdog auf dem Bild? {{isHotDog}}".


Wenn Sie Probleme beim Erstellen des Flows haben, können Sie den folgenden Code-Snippet verwenden:

Um es zu testen, senden Sie ein Bild an Ihren Telegram-Bot.
Bis jetzt sieht es cool aus! Wir haben einen kleinen Chat-Bot erstellt, der Bilder überprüft, die Kunden senden. Um es hübscher zu machen, fügen wir noch einige Schritte hinzu, wie unten gezeigt:

Wenn Sie Probleme beim Erstellen des Flows haben, können Sie den folgenden Code-Snippet verwenden:
Ergebnisse


Auch wenn dies ein lustiges Beispiel ist, glauben wir, dass diese Art von Funktionalität für unsere Benutzer sehr nützlich sein kann.
Wenn Sie weitere Funktionen wie diese in Flows integriert haben möchten, schreiben Sie unserem Support-Team, um uns Bescheid zu geben.