Einbetten eines Bots in eine WebsiteEmbed a bot in a website

gilt für: SDK v4APPLIES TO: SDK v4

Bots befinden sich zwar häufig außerhalb von Websites, können aber auch in eine Website eingebettet werden.Although bots commonly exist outside of websites, they can also be embedded within a website. Sie können beispielsweise einen Wissens-Bot in eine Website einbetten, um Benutzern die schnelle Suche nach Informationen zu ermöglichen, die andernfalls in komplexen Websitestrukturen unter Umständen nur schwer auffindbar sind.For example, you may embed a knowledge bot within a website to enable users to quickly find information that might otherwise be challenging to locate within complex website structures. Sie können einen Bot auch in eine Helpdeskwebsite einbetten, die dann als erste Anlaufstelle für eingehende Benutzeranfragen fungiert.Or you might embed a bot within a help desk website to act as the first responder to incoming user requests. Der Bot kann unabhängig einfache Probleme lösen und kompliziertere Fälle an einen menschlichen Mitarbeiter übergeben.The bot could independently resolve simple issues and handoff more complex issues to a human agent.

In diesem Artikel wird untersucht, wie Bots in Websites integriert werden und wie der Backchannelmechanismus dazu genutzt wird, die private Kommunikation zwischen einer Webseite und einem Bot zu erleichtern.This article explores integrating bots with websites and the process of using the backchannel mechanism to facilitate private communication between a web page and a bot.

Microsoft bietet zwei verschiedene Möglichkeiten, einen Bot in eine Website zu integrieren: über das Skype-Steuerelement und über ein Open Source-Websteuerelement.Microsoft provides two different ways to integrate a bot in a website: the Skype web control and an open source web control.

Skype-WebsteuerelementSkype web control

Hinweis

Seit dem 31. Oktober 2019 werden vom Skype-Kanal keine neuen Veröffentlichungsanforderungen für Bots mehr akzeptiert.As of October 31, 2019 the Skype channel no longer accepts new Bot publishing requests. Sie können zwar weiterhin Bots unter Verwendung des Skype-Kanals entwickeln, Ihr Bot wird aber auf 100 Benutzer beschränkt.This means that you can continue to develop bots using the Skype channel, but your bot will be limited to 100 users. Der Bot kann nicht für eine größere Zielgruppe veröffentlicht werden.You will not be able to publish your bot to a larger audience. Aktuelle Skype-Bots können dagegen ohne Einschränkungen weiter verwendet werden.Current Skype bots will continue to run uninterrupted. Weitere Informationen dazu, warum einige Features in Skype nicht mehr verfügbar sind, finden Sie hier.Read more about why some features are not available in Skype anymore.

Das Skype-Websteuerelement ist im Wesentlichen ein Skype-Client in einem webfähigen Steuerelement.The Skype web control is essentially a Skype client in a web-enabled control. Die integrierte Skype-Authentifizierung ermöglicht dem Bot das Authentifizieren und Erkennen von Benutzern, ohne dass dazu vom Entwickler benutzerdefinierter Code geschrieben werden muss.Built-in Skype authentication enables the bot to authenticate and recognize users, without requiring the developer to write any custom code. Skype erkennt automatisch im Webclient verwendete Microsoft-Konten.Skype will automatically recognize Microsoft Accounts used in its web client.

Da das Skype-Websteuerelement einfach als Front-End für Skype fungiert, hat der Skype-Client des Benutzers automatisch Zugriff auf den vollständigen Kontext aller vom Websteuerelement ermöglichten Konversationen.Because the Skype web control simply acts as a front-end for Skype, the user's Skype client automatically has access to the full context of any conversation that the web control facilitates. Auch nach dem Schließen des Webbrowsers kann der Benutzer mithilfe des Skype-Clients weiterhin mit dem Bot interagieren.Even after the web browser is closed, the user may continue to interact with the bot using the Skype client.

Open Source-WebsteuerelementOpen source web control

Das Open Source-Webchat-Steuerelement basiert auf ReactJS und nutzt die Direct Line-API für die Kommunikation mit Bot Framework.The open source web chat control is based upon ReactJS and uses the Direct Line API to communicate with the Bot Framework. Das Webchat-Steuerelement bietet eine leere Canvas zum Implementieren des Webchats sowie vollständige Kontrolle über das Verhalten und die bereitgestellte Benutzeroberfläche.The web chat control provides a blank canvas for implementing the web chat, giving you full control over its behaviors and the user experience that it delivers.

Über den Backchannelmechanismus kann die Webseite, auf der das Steuerelement gehostet wird, direkt und für den Benutzer unbemerkt mit dem Bot kommunizieren.The backchannel mechanism enables the web page that is hosting the control to communicate directly with the bot in a manner that is entirely invisible to the user. Diese Funktion ermöglicht eine Reihe nützlicher Szenarien:This capability enables a number of useful scenarios:

  • Die Webseite kann relevante Daten an den Bot senden (etwa den GPS-Standort).The web page can send relevant data to the bot (e.g., GPS location).
  • Die Webseite kann den Bot über Benutzeraktionen benachrichtigen (Beispiel: „Der Benutzer hat eben Option A in der Dropdownliste ausgewählt.“).The web page can advise the bot about user actions (e.g., "user just selected Option A from the dropdown").
  • Die Webseite kann dem Bot das Authentifizierungstoken für einen angemeldeten Benutzer senden.The web page can send the bot the auth token for a logged-in user.
  • Der Bot kann relevante Daten an die Webseite senden (etwa den aktuellen Wert des Benutzerportfolios).The bot can send relevant data to the web page (e.g., current value of user's portfolio).
  • Der Bot kann „Befehle“ an die Webseite senden (etwa zur Änderung der Hintergrundfarbe).The bot can send "commands" to the web page (e.g., change background color).

Verwenden des BackchannelmechanismusUsing the backchannel mechanism

Das Open Source-Webchat-Steuerelement kommuniziert mit Bots mithilfe der Direct Line-API, die das Senden von activities zwischen Client und Bot in beiden Richtungen ermöglicht.The open source web chat control communicates with bots by using the Direct Line API, which allows activities to be sent back and forth between client and bot. Der am häufigsten verwendete Typ von Aktivität ist message, aber es gibt auch andere Typen.The most common type of activity is message, but there are other types as well. Beispielsweise gibt der Aktivitätstyp typing an, dass ein Benutzer eine Eingabe macht oder dass der Bot an der Kompilierung einer Antwort arbeitet.For example, the activity type typing indicates that a user is typing or that the bot is working to compile a response.

Sie können den Rückkanalmechanismus zum Austauschen von Informationen zwischen Client und Bot verwenden, die dem Benutzer nicht präsentiert werden, indem Sie den Aktivitätstyp auf event festlegen.You can use the backchannel mechanism to exchange information between client and bot without presenting it to the user by setting the activity type to event. Das Webchat-Steuerelement ignoriert automatisch alle Aktivitäten vom Typ type="event".The web chat control will automatically ignore any activities where type="event".

BeispielcodeSample code

Das Open Source-Webchat-Steuerelement ist auf GitHub verfügbar.The open source web chat control is available via GitHub. Weitere Informationen dazu, wie Sie den Backchannelmechanismus mithilfe des Open-Source-Webchat-Steuerelements und des Bot Framework SDK für Node.js implementieren können, finden Sie unter Verwenden des Backchannelmechanismus.For details about how you can implement the backchannel mechanism using the open source web chat control and the Bot Framework SDK for Node.js, see Use the backchannel mechanism.

Zusätzliche RessourcenAdditional resources