Remarques propres aux canaux

Voici quelques points à prendre en compte et à planifier lors de la conception de votre assistant numérique.

Le terme "canal" englobe la plate-forme de messagerie et le client de messagerie utilisé par un bot pour interagir avec les utilisateurs. Des considérations relatives aux canaux doivent être prises en compte lors de la phase de planification d'un projet d'assistant numérique et lors de l'implémentation de l'assistant numérique.

Oracle Digital Assistant prend en charge nativement un certain nombre de canaux, notamment Facebook, MS Teams, Slack, Web, iOS, Android et SMS. Pour les canaux pris en charge de façon native, Digital Assistant gère la transformation des données des messages entrants dans le format utilisé dans l'assistant numérique, et inversement. En tant que développeur, il vous suffit de créer une configuration de canal dans Digital Assistant et de fournir les informations spécifiques au canal requises.

Les canaux qui n'ont pas de prise en charge native dans Digital Assistant peuvent être connectés à un assistant numérique via un webhook. Il s'agit d'une configuration générique que vous utilisez avec du code personnalisé que vous devez écrire pour convertir et mettre en file d'attente les messages.

Tenez compte des limites du canal lors de la conception de votre chatbot

Bien que tous les canaux fassent généralement la même chose, chacun a des fonctionnalités et des limites spécifiques au canal. Les limitations typiques incluent le nombre d'éléments pouvant faire l'objet d'une action qui peuvent apparaître dans une liste de valeurs ou sur des cartes dans un carrousel, ou la disposition des cartes. Par exemple, Slack ne prend en charge que les présentations de carte verticales.

D'autres différences concernent la prise en charge du formatage et de la mise en surbrillance des messages. Le canal Web, par exemple, vous permet d'utiliser le balisage HTML et la feuille de style pour formater les messages, contrairement aux autres.

Remarque

Selon les canaux que vous ciblez et l'étendue du formatage dont vous avez besoin, il peut être possible d'utiliser le balisage HTML dans vos messages. Si vous utilisez cette approche, le balisage sera automatiquement converti au format spécifique au canal lorsque le message est transmis à chaque canal. Reportez-vous à Formatage de texte enrichi dans des canaux.

En tant que stratégie, vous pouvez choisir entre :

  • Concevoir votre bot pour un seul canal.

  • Conception de votre bot pour le dénominateur commun le plus élevé.

  • Concevoir votre bot pour tous les canaux et l'optimiser pour quelques-uns.

Conception de votre bot pour un canal unique

La solution la moins durable consiste à concevoir votre assistant numérique pour un seul canal et à ignorer les autres, même ceux qui pourraient être des options à l'avenir. En plus d'être la moins durable, cette solution est également la moins recommandée puisque vous concevez un produit à usage unique.

Il peut y avoir des cas d'utilisation pour une telle approche, comme une preuve de concept que vous devez créer rapidement. Mais pour tous les bots que vous souhaitez mettre en production, vous devez envisager l'une des deux autres approches.

Concevez votre bot pour le plus grand dénominateur commun

Si vous connaissez les canaux que vous devez prendre en charge avec votre bot et que vous acceptez une implémentation que chacun des canaux peut prendre en charge, vous pouvez créer un assistant numérique qui fonctionne de la même manière sur plusieurs canaux avec peu d'effort de développement et donc sans trop de retard. L'inconvénient de cela est que, pour certaines chaînes, il aura l'impression de conduire une voiture de sport, mais seulement en utilisant le premier des six engrenages.

Cette option est logique si les objectifs que vous avez définis pour votre chatbot ne nécessitent pas une expérience de canal optimisée.

Concevoir votre bot pour tous les canaux et l'optimiser pour quelques-uns

Un autre terme que nous utilisons pour cette option est "conception adaptative" ou "conception adaptative de réponse bot". Tout comme le même paradigme dans le développement d'applications Web, vous créez votre chatbot pour fonctionner sur tous les canaux, puis appliquez des changements pour certains qui optimisent l'expérience utilisateur. La conception adaptative des réponses de bot prend plus de temps à implémenter, mais garantit la meilleure expérience utilisateur possible, ainsi que la possibilité d'exploiter des fonctionnalités spécifiques au canal, telles que les cartes adaptatives sur le canal MS Teams.

Pour implémenter ces stratégies de conception, vous disposez des outils suivants :

  • Groupes de ressources qui utilisent le format de message ICU pour afficher des messages spécifiques au canal.

  • Composant Switch permettant d'accéder à des flux de conversation spécifiques au canal.

  • Propriété visible du composant Réponse commune pour afficher ou masquer les éléments de réponse en fonction du type de canal utilisé.

  • Expression ${system.channelType} dans les flux de dialogue sur les entités et pour les boîtes de dialogue intégrées afin d'afficher des messages propres au canal. Si vous utilisez des composants personnalisés pour afficher les réponses de bot, le type de canal est également disponible en tant que fonction sur l'objet de contexte.

  • Composant de réponse commune et composants personnalisés, qui prennent en charge les propriétés personnalisées de canal, que vous pouvez utiliser pour envoyer des propriétés spécifiques de canal, telles que les charges utiles de carte adaptative pour le canal MS Teams.

  • Optimisation intégrée à Oracle Digital Assistant qui utilise automatiquement le meilleur remplacement pour les fonctionnalités qui ne sont pas disponibles sur une plate-forme. Par exemple, la disposition de carte horizontale dans Slack est automatiquement remplacée par des cartes verticales.

Implémenter des réponses de bot propres à un canal

Une implémentation que nous observons fréquemment, mais que nous ne recommandons pas, consiste à écrire des messages texte directement dans les composants d'interface utilisateur au lieu d'utiliser des références de groupe de ressources.

Un deuxième modèle que nous voyons est l'ajout de balises HTML aux messages qu'ils ajoutent directement à la propriété de message texte dans les composants d'interface utilisateur ou qu'ils stockent dans des groupes de ressources. L'utilisation du balisage HTML limite la prise en charge des canaux pour un bot aux canaux qui prennent en charge le balisage.

Vous pouvez utiliser le balisage, mais nous vous suggérons de l'utiliser d'une manière qui ne vous verrouille pas. Voici un exemple qui utilise le format de message ICU pour les groupes de ressources dans Oracle Digital Assistant afin d'éviter un verrouillage de canal :

{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}
}

Pour référencer le message dans le groupe de ressources, vous devez utiliser l'expression suivante dans votre configuration de flux de dialogue, d'entité ou de brique :

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

Liste de contrôle pour les considérations relatives aux canaux

  • ☑ Concevoir pour tous, optimiser pour quelques-uns.
  • ☑ Envisagez la conception adaptative lorsque vous prenez en charge plusieurs canaux.
  • ☑ Utilisez des chaînes de regroupement de ressources pour tous les messages de bot.
  • ☑ Tirez parti du format de message ICU pour créer des groupes de ressources qui s'adaptent au message sur un canal.

En savoir plus