Skip to main content

Verwalten von Interaktivität

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Konfigurieren Ihrer App für die Verarbeitung von Interaktivität
  • Verarbeiten und Reagieren auf Nachrichten-Payloads aus Block-Kit-Nachrichten

Erstellen einer nahtlosen Benutzererfahrung

Bis jetzt haben Sie gelernt, was Block-Kit ist, wie Sie verschiedene Arten von Nachrichten erstellen und wo sich diese Nachrichten innerhalb von Slack befinden können. Nun sehen wir uns an, wie man dafür sorgt, dass Block-Kit-Nachrichten aktiv werden und Benutzerinteraktion verarbeiten. Eine Benutzerinteraktion kann das Klicken auf eine Schaltfläche, die Auswahl einer Option in einem Dropdown-Menü oder das Übertragen eines modalen Fensters sein. Alle diese Aktionen müssen von Ihrer App verarbeitet werden, um eine nahtlose Benutzererfahrung zu bieten. 

Lebenszyklus der Interaktivität

Mit Schaltflächen, Dropdown-Menüs, modalen Fenstern und mehr können Sie eine Reihe von Einstiegspunkten für Interaktionen einrichten, über die Benutzer eine Antwort von der App auslösen können. Beim Auslösen eines dieser Einstiegspunkte wird eine Interaktions-Payload erstellt. Bei dieser Payload handelt es sich um eine Reihe von Informationen, die den Kontext der Benutzeraktion erklären und der App damit ausreichend Informationen liefern, um eine sinnvolle Antwort zu erstellen.

Im Endeffekt ergibt sich damit ein Interaktions-Flow wie der folgende:

  1. Ein Benutzer löst eine Interaktion aus, indem er einen der Einstiegspunkte der App verwendet.
  2. Die App empfängt und verarbeitet die Interaktions-Payload.
  3. Unter Verwendung dieses Kontexts generiert die App eine Antwort auf die Interaktion.

Ihre App muss für diese beiden letzten Schritte bereit sein.

Konfigurieren von Interaktivität

Damit Ihre App Interaktions-Payloads empfängt, muss Slack wissen, wohin sie gesendet werden sollen. Jede App kann mit Anfrage-URLs konfiguriert werden, die einen Web-Endpunkt angeben, der zur gehosteten App gehört.

So konfigurieren Sie einen Anfrage-URL für Ihre App:

  1. Öffnen Sie das Management-Dashboard Ihrer App auf der "Slack API"-Website.
  2. Klicken Sie in der Randleiste auf Interactivity & Shortcuts (Interaktivität & Tastaturkürzel).
  3. Aktivieren Sie Interactivity (Interaktivität).

Daraufhin werden einige neue Optionen angezeigt. Für Ihre interaktive Block-Kit-Nachricht sind folgende Optionen relevant:

Request URL (Anfrage-URL): Der URL, an den Sie die Anfrage-Payload senden, wenn interaktive Komponenten oder Tastaturkürzel verwendet werden (1). Sie müssen den URL Ihrer gehosteten App hinzufügen, um diese Payloads verarbeiten zu können.

Options Load URL (URL für Ladeoptionen): Diese Einstellung wird von Block-Kit-Komponenten verwendet, und zwar von ausgewählten Menüs und Mehrfachauswahl-Menüs (2). Diese Komponenten können Menüoptionen aus einer externen Quelle laden, und "URL für Ladeoptionen" bestimmt, welcher URL abgefragt wird, um diese Menüoptionen zurückzugeben.

Abschnitt 'Interaktivität & Tastaturkürzel' für die App Sample mit Kennzeichnung der Felder 'Anfrage-URL' und 'URL für Ladeoptionen' mit Nummern, die den vorausgehenden Erläuterungen entsprechen

Der Hauptteil der von Ihrer App empfangenen Payload enthält ein Feld "type", das die Quelle der Interaktion angibt. Bei Benutzerinteraktionen lautet der Payload-Typ "block_actions". Die Payload liefert den kompletten Kontext der Interaktion, die innerhalb Ihrer Block-Kit-Nachricht auftrat. Zu den Informationen gehört der interagierende Benutzer, die vordefinierten Zustandswerte für verwendete interaktive Komponenten, wo die Interaktion stattfand und mehr.

Verarbeiten von Payloads

Nach dem Empfang einer Payload muss Ihre App dem Benutzer antworten. Es gibt zwar viele verschiedene Antwortarten, hier konzentrieren wir uns jedoch auf Bestätigungen und Nachrichten.

Die Bestätigung ist bei allen Apps obligatorisch. Mit ihr wird der Erhalt einer gültigen Interaktions-Payload bestätigt. Die Antwort in Form einer Nachricht eröffnet Ihnen unzählige Antwortmöglichkeiten für Ihre App. Sie können mit der Standardnachricht "Vielen Dank" antworten, eine kurzlebige Antwort senden oder sogar die Ursprungsnachricht aktualisieren. Ganz gleich, für welche Spielart Sie sich entscheiden, Sie verwenden in jedem Fall den response_url, um den nächsten Schritt bei Ihrer interaktiven Block-Kit-Nachricht zu übermitteln. Der response_url ist für jede Payload eindeutig und kann verwendet werden, um Nachrichten an dem Ort anzuzeigen, an dem die Interaktion stattfand. 

Wir werfen nun einen genaueren Blick auf die block_actions-Payload und einige der wichtigsten Felder.

Sehen Sie sich das folgende Beispiel einer Payload an, die zurückgeschickt wird, nachdem ein Benutzer eine Auswahl in einem Mehrfachauswahl-Menü vorgenommen hat.

Der Benutzer wählt Save it aus dem Menü aus.

Das von einer Slack-App zurückgegebene Suchergebnis 'Use Case Catalogue', für das der Benutzer 'Save it' ausgewählt hat

Die folgende Payload wird zurück an die App gesendet.

{
    "type": "block_actions",
    "user": {
        "id": "U018AF3MLPQ",
        "username": "hshavers",
        "name": "hshavers",
        "team_id": "TG4KUE8JV"
    },
    "api_app_id": "A02",
    "token": "Shh_its_a_seekrit",
    "container": {
        "type": "message",
        "text": "The contents of the original message where the action originated"
    },
    "trigger_id": "12466734323.1395872398",
    "team": {
        "id": "TG4KUE8JV",
        "domain": "community"
    },
    "enterprise": null,
    "is_enterprise_install": false,
    "state": {
        "values": {
            "enhWA": {
                "NfSha": {
                    "type": "static_select",
                    "selected_option": {
                        "text": {
                            "type": "plain_text",
                            "text": "Save it",
                            "emoji": true
                        },
                        "value": "value-2"
                    }
                }
            }
        }
    },
    "response_url": "https://www.postresponsestome.com/T123567/1509734234",
    "actions": [
        {
            "type": "static_select",
            "block_id": "enhWA",
            "action_id": "NfSha",
            "selected_option": {
                "text": {
                    "type": "plain_text",
                    "text": "Save it",
                    "emoji": true
                },
                "value": "value-2"
            },
            "placeholder": {
                "type": "plain_text",
                "text": "Manage",
                "emoji": true
            },
            "action_ts": "1623954664.372376"
        }
    ]
}

Diese Payload speichert den gespeicherten Wert des Mehrfachauswahl-Menüs, den für die Auswahl verantwortlichen Benutzer (unter user) und die block_id, die mit diesem Mehrfachauswahl-Menü und der Schaltfläche verknüpft ist. 

Nach dem Erhalt dieser Payload können Sie diese Werte weitergeben, um dem Benutzer eine Bestätigung zu senden. Sie verwenden dabei die Informationen unter user, um eine Direktnachricht zu starten, und die Angaben unter block_id, um die Menüauswahl zu bestätigen. Ihre App kann weitere Informationen aus der Payload verwenden, um wichtige Workflows oder Automatisierungsabläufe fortzusetzen – im Rahmen Ihrer Vorstellungskraft (und der Slack-APIs) sind die Möglichkeiten hier praktisch unbegrenzt.

Zusammenfassung

In diesem Modul haben Sie gelernt, was das Block-Kit ist, wie Sie damit visuell aussagekräftige Nachrichten in Ihrer Slack-App erstellen und wie Sie Ihre App damit optimieren und weiterentwickeln. Sie haben gelernt, welche verschiedenen Arten von Layout-Blöcken zur Verfügung stehen, wo diese robusten Nachrichten in Slack platziert werden können und wie man diese Nachrichten interaktiv und aktionsreich gestaltet. Mit diesem Grundwissen können Sie Block-Kit jetzt nutzen, um das Arbeitsleben durch viele weitere, kreative Ideen angenehmer, einfacher und produktiver zu machen.

Was kommt als Nächstes?

Mit diesen Grundlagen können Sie sich jetzt weitere Block-Kit- und Plattformfunktionen ansehen. Sie könnten beispielsweise folgende Pfade einschlagen:

Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen