Kanalspezifische Überlegungen

Im Folgenden finden Sie einige kanalbezogene Dinge, die Sie beim Entwerfen Ihres digitalen Assistenten berücksichtigen und planen sollten.

Der Begriff "Kanal" umfasst die Messaging-Plattform und den Messenger-Client, den ein Bot zur Interaktion mit Benutzern verwendet. Kanalüberlegungen sollten während der Planungsphase eines Projekts eines digitalen Assistenten und bei der Implementierung des digitalen Assistenten angestellt werden.

Oracle Digital Assistant bietet native Unterstützung für eine Reihe von Kanälen, darunter Facebook, MS Teams, Slack, Web, iOS, Android und SMS. Bei nativ unterstützten Kanälen verarbeitet Digital Assistant die Nachrichtentransformation eingehender Nachrichten-Payloads in das im digitalen Assistenten verwendete Format und umgekehrt. Als Entwickler müssen Sie lediglich eine Kanalkonfiguration in Digital Assistant erstellen und die erforderlichen kanalspezifischen Informationen angeben.

Kanäle, die in Digital Assistant keine native Unterstützung haben, können über einen Webhook mit einem digitalen Assistenten verbunden werden. Dies ist eine generische Konfiguration, die Sie mit benutzerdefiniertem Code verwenden, den Sie schreiben müssen, um Nachrichten zu konvertieren und in die Queue zu stellen.

Berücksichtigen Sie Kanalbeschränkungen beim Entwerfen Ihres Chatbots

Obwohl alle Kanäle im Allgemeinen dasselbe tun, hat jeder Kanal spezifische Funktionen und Einschränkungen. Typische Einschränkungen sind die Anzahl der verwertbaren Elemente, die in einer Werteliste oder auf Karten in einem Karussell angezeigt werden können, oder das Layout der Karten. Beispiel: Slack unterstützt nur vertikale Kartenlayouts.

Weitere Unterschiede bestehen in der Unterstützung von Nachrichtenformatierung und Hervorhebung. Mit dem Webkanal können Sie beispielsweise HTML-Markup und Stylesheet verwenden, um Nachrichten zu formatieren, während andere dies nicht tun.

Hinweis

Abhängig von den Kanälen, die Sie als Zielgruppe festlegen, und dem Umfang der Formatierung, die Sie benötigen, können Sie möglicherweise HTML-Markup in Ihren Nachrichten verwenden. Wenn Sie diesen Ansatz verwenden, wird das Markup automatisch in das kanalspezifische Format konvertiert, wenn die Nachricht an jeden Kanal übertragen wird. Siehe Rich Textformatierung in Kanälen.

Als Strategie haben Sie die Wahl zwischen:

  • Entwerfen Sie Ihren Bot für einen einzigen Kanal.

  • Entwerfen Sie Ihren Bot für den höchsten gemeinsamen Nenner.

  • Entwerfen Sie Ihren Bot für alle Kanäle und optimieren Sie ihn für einige wenige.

Bot für einen einzigen Kanal entwerfen

Die am wenigsten nachhaltige Lösung besteht darin, Ihren digitalen Assistenten nur für einen Kanal zu entwerfen und die anderen zu ignorieren, selbst diejenigen, die in Zukunft Optionen sein könnten. Diese Lösung ist nicht nur die am wenigsten nachhaltige, sondern auch die am wenigsten empfohlene Lösung, da Sie ein Einmalprodukt entwerfen.

Es kann Anwendungsfälle für einen solchen Ansatz geben, wie einen Proof of Concept, den Sie schnell erstellen müssen. Für alle Bots, die Sie in die Produktion freigeben möchten, sollten Sie jedoch einen der beiden anderen Ansätze in Betracht ziehen.

Entwerfen Sie Ihren Bot für den höchsten gemeinsamen Nenner

Wenn Sie die Kanäle kennen, die Sie mit Ihrem Bot unterstützen müssen, und eine Implementierung vereinbaren, die jeder der Kanäle unterstützen kann, können Sie einen digitalen Assistenten erstellen, der mit geringem Entwicklungsaufwand und daher ohne große Verzögerung auf mehreren Kanälen funktioniert. Der Nachteil ist, dass es sich für einige Kanäle wie das Fahren eines Sportwagens anfühlt, aber nur mit dem ersten von sechs Gängen.

Diese Option ist sinnvoll, wenn die Ziele, die Sie für Ihren Chatbot skizziert haben, keine optimierte Kanalerfahrung erfordern.

Entwerfen Sie Ihren Bot für alle Kanäle und optimieren Sie ihn für ein paar

Ein weiterer Begriff, den wir für diese Option verwenden, ist "adaptives Design" oder "adaptives Bot-Response-Design". Ähnlich wie das gleiche Paradigma bei der Entwicklung von Webanwendungen erstellen Sie Ihren Chatbot, um für alle Kanäle zu arbeiten, und wenden dann Änderungen für einige an, die das Benutzererlebnis optimieren. Das adaptive Botantwortdesign dauert länger für Sie, stellt jedoch die bestmögliche Benutzererfahrung sowie die Möglichkeit sicher, kanalspezifische Funktionen wie adaptive Karten im MS Teams-Kanal zu nutzen.

Um diese Designstrategien zu implementieren, stehen Ihnen die folgenden Tools zur Verfügung:

  • Resource Bundles, die das ICU-Nachrichtenformat verwenden, um kanalspezifische Nachrichten anzuzeigen.

  • Die Switch-Komponente zum Verzweigen zu kanalspezifischen Unterhaltungsabläufen.

  • Die sichtbare Eigenschaft in der Komponente "Gemeinsame Antwort", mit der Antwortelemente basierend auf dem verwendeten Kanaltyp angezeigt oder ausgeblendet werden.

  • Der Ausdruck ${system.channelType} in Dialogabläufen für Entitys und für integrierte Dialoge zur Anzeige kanalspezifischer Nachrichten. Wenn Sie benutzerdefinierte Komponenten verwenden, um Botantworten wiederzugeben, ist der Kanaltyp auch als Funktion für das Kontextobjekt verfügbar.

  • Die Komponente "Gemeinsame Antwort" und benutzerdefinierte Komponenten, die benutzerdefinierte Eigenschaften für Kanäle unterstützen, mit denen Sie kanalspezifische Eigenschaften wie adaptive Karten-Payloads für den MS Teams-Kanal senden können.

  • Die in Oracle Digital Assistant integrierte Optimierung verwendet automatisch den besten Ersatz für Funktionen, die auf einer Plattform nicht verfügbar sind. Beispielsweise wird das horizontale Kartenlayout in Slack automatisch in vertikale Karten geändert.

Kanalspezifische Botantworten implementieren

Eine Implementierung, die wir häufig beobachten, aber nicht empfehlen, ist, Textnachrichten direkt in die UI-Komponenten zu schreiben, anstatt Resource-Bundle-Referenzen zu verwenden.

Ein zweites Muster, das wir sehen, sind Entwickler, die HTML-Markup zu Nachrichten hinzufügen, die sie entweder direkt zur Textnachrichteneigenschaft in UI-Komponenten hinzufügen oder in Resource Bundles speichern. Die Verwendung von HTML-Markup begrenzt die Kanalunterstützung für einen Bot auf die Kanäle, die Markup unterstützen.

Sie können Markup verwenden, aber wir empfehlen, es auf eine Weise zu verwenden, die Sie nicht einsperrt. Im Folgenden finden Sie ein Beispiel, das das ICU-Nachrichtenformat für Resource Bundles in Oracle Digital Assistant verwendet, um eine Kanalsperre zu vermeiden:

{channelType, select,
  web {<b>This message uses HTML markup to display in bold</b>}
  slack {*This message uses markdown to display in bold*}
  other {This message is for all other channels}
}

Um die Nachricht im Resource Bundle zu referenzieren, verwenden Sie den folgenden Ausdruck in Ihrer Dialogablauf-, Entity- oder Skillkonfiguration:

${rb('the_key_name','channelType',system.channelType)}

Checkliste für Überlegungen zu Kanälen

  • ☑ Design für alle, Optimierung für einige.
  • ☑ Berücksichtigen Sie das adaptive Design bei der Unterstützung mehrerer Kanäle.
  • ☑ Verwenden Sie Resource Bundle-Zeichenfolgen für alle Botnachrichten.
  • ☑ Nutzen Sie das ICU-Nachrichtenformat, um Resource Bundles zu erstellen, die sich an die Nachricht an einen Kanal anpassen.

Weitere Informationen