Intégrer à un site Web

Pour élargir la couverture de vos agents Business Messages, vous pouvez ajouter des conversations points d'entrée sur vos sites Web avec le widget Business Messages.

Le widget Business Messages n'est compatible qu'avec les appareils mobiles équipés d'Android 5 ou version ultérieure. Les autres systèmes d'exploitation mobiles et environnements de bureau ne sont pas compatibles.

Ajouter un widget Business Messages à un site Web

Pour activer les conversations depuis un site Web, vous devez charger Business Messages bibliothèque JavaScript, configurer l'emplacement du widget sur la page et spécifier le contexte dans le widget.

Pour obtenir la liste des fonctions, propriétés et événements de disponibilité, consultez la page Messages widget. Voir Guide de style du widget Business Messages pour obtenir des recommandations de style utiliser.

Créer un widget

Modifiez les valeurs suivantes pour créer un widget Business Messages à insérer dans votre site Web.

Valeur Description
LAYOUT Comment le bouton apparaît-il sur votre site Web. Il peut s'agir de button, floating, inline ou advanced. À utiliser vos propres styles, utiliser advanced, copier la feuille de style dans votre page Web, et les modifier selon les besoins.
AGENT_ID Votre ID d'agent
BUTTON_TEXT Le texte que vous comme le bouton à afficher.
    <script crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js"></script>
    <button data-bm-widget-layout="LAYOUT" data-bm-widget-agent-id="AGENT_ID">
      <span class="bm-widget-button-text">BUTTON_TEXT</span>
    </button>

Exemple de widget

Ce widget Aperçu du widget Web est généré par le code suivant:

    <script crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js"></script>
    <button data-bm-widget-layout="button" data-bm-widget-agent-id="abcdefghijkl">
      <span class="bm-widget-button-text">Chat with us</span>
    </button>

Personnaliser l'intégration du widget Business Messages

Charger la bibliothèque JavaScript

Pour charger la bibliothèque JavaScript Business Messages, copiez le code suivant et collez-le immédiatement dans la balise <head> de chaque page où vous souhaitez afficher un widget Business Messages. Vous n'avez besoin que d'une seule bibliothèque JavaScript contenu inclus par page.

<!-- Global Business Messages widget library reference - Business Messages -->
<script crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js?cb=callback">
</script>

L'extrait télécharge et charge la bibliothèque JavaScript, qui initialise éléments de page existants avec un attribut data-bm-widget-agent-id. La La bibliothèque JavaScript convertit les éléments de page identifiés en éléments cliquables qui chargent la surface de conversation Business Messages lorsque l'utilisateur appuie dessus.

Le paramètre facultatif cb contient le nom d'une fonction automatiquement appelé une fois la bibliothèque JavaScript chargée.

Configurer l'emplacement du widget

Lorsque la bibliothèque JavaScript Business Messages se charge, elle analyse le site Web pour détecter avec un attribut data-bm-widget-agent-id et convertit ces éléments dans des widgets Business Messages accessibles. Tous les éléments à convertir à un widget doit inclure un attribut data-bm-widget-agent-id avec une valeur correspondant à l'ID de l'agent lancé.

Exemple: Définitions de widgets

<!-- Example div element that converts into a Business Messages widget -->
<div data-bm-widget-agent-id="myagentid">
  Click for Business Messages
</div>
<!-- Example button element that converts into a Business Messages widget -->
<button data-bm-widget-agent-id="myagentid">
  Click for Business Messages
</button>

Transmettre des valeurs de contexte

Pour configurer le contexte du widget et le transmettre à votre webhook, incluez le paramètre facultatif l'attribut data-bm-widget-context dans l'élément HTML qui contient la data-bm-widget-agent-id. Spécifiez une valeur de chaîne pour data-bm-widget-context Les messages envoyés à votre webhook incluent le contexte .

data-bm-widget-context peut avoir n'importe quelle valeur, par exemple une valeur en fonction de l'emplacement sur la page où le widget s'affiche au moment de l'exécution. Dans les exemples, la valeur de l'attribut "eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg==" est un Chaîne JSON {"product":"dryer","offer-code":"ASDADSA"} encodée en base64.

data-bm-widget-context est limité à 512 octets.

Exemple: Définitions de widgets avec contexte

<!-- Example div element that converts into a Business Messages widget -->
<div
  data-bm-widget-agent-id="myagentid"
  data-bm-widget-context="eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg==">
  Click for Business Messages
</div>
<!-- Example button element that converts into a Business Messages widget -->
<button
  data-bm-widget-agent-id="myagentid"
  data-bm-widget-context="eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg==">
  Click for Business Messages
</button>

Exemple de site Web

L'exemple suivant charge la bibliothèque JavaScript Business Messages dans le La balise <head>, qui analyse ensuite automatiquement la page HTML et effectue une conversion &quot;myagentid&quot; dans les widgets Business Messages.

<html>
  <head>
    <script
      crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js">
    </script>
  </head>
  <body>
    This is a test widget:
    <div
      data-bm-widget-agent-id="myagentid"
      data-bm-widget-context="eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg==">
      Click for Business Messages
    </div>
    Click it.
    And this is a widget:
    <button
      data-bm-widget-agent-id="myagentid"
      data-bm-widget-context="VGhpcyBpcyBhIGJ1dHRvbiB0ZXN0Lgo=">
      Click for Business Messages
    </button>
  </body>
</html>

Initialisation de widgets programmatiques

Pour un contrôle ultraprécis de votre configuration, vous pouvez initialiser par programmation. Pour initialiser un élément par programmation, appelez bmwidget.init après le chargement de la bibliothèque JavaScript Business Messages. Cette forme de l'initialisation ne vous oblige pas à marquer les éléments avec data-bm-widget-agent-id.

<head>
  <!-- Global Business Messages widget library reference - Business Messages -->
  <script
    crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js?cb=initWidget">
  </script>

  <script type="text/javascript">
    // Convert HTML element with ID = myCustomButton into a Business Messages widget
    function initWidget() {
      window.bmwidget.init(document.getElementById('myCustomButton'), {
        'agentId': 'myagentid',
        'context': 'eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg=='
      });
    };
  </script>
</head>

Vérifier la compatibilité de l'appareil

Utilisez window.bmwidget.supported pour vérifier la compatibilité de Business Messages avec un appareil. L'exemple de vérification suivant pour la compatibilité avec les appareils avant d'initialiser l'élément HTML avec un ID "monBoutonPersonnalisé" en tant que widget Business Messages.

<head>
  <!-- Global Business Messages widget library reference - Business Messages -->
  <script
    crossorigin="use-credentials" src="https://businessmessages.google.com/widget/v2/js?cb=initWidget">
  </script>

  <script type="text/javascript">
    // Convert HTML element with ID = myCustomButton into a Business Messages widget
    function initWidget() {
      // Check that the user has a supported device
      if (window.bmwidget.supported) {
        window.bmwidget.init(document.getElementById('myCustomButton'), {
          'agentId': 'myagentid',
          'context': 'eyJwcm9kdWN0IjoiZHJ5ZXIiLCJvZmZlci1jb2RlIjoiQVNEQURTQSJ9Cg=='
        });
      }
    };
  </script>
</head>

Initialisation du widget pour les applications monopages

Pour les applications monopages, où data-bm-widget-agent-id est créé au moment de l'exécution, la bibliothèque JavaScript Business Messages expose un objet global window.bmwidget.

Chaque fois qu'un nouvel élément est ajouté à la page, appelez window.bmwidget.scan() pour initialiser le nouvel élément en tant que widget Business Messages.

window.bmwidget.scan();

Appelez window.bmwidget.scan() sur le rappel de mise à jour DOM pour vous assurer que L'attribut data-bm-widget-agent-id est réinitialisé lorsque l'état de la page change.

Exemple Angular

Le code suivant initialise window.bmwidget.scan() lors du chargement du composant. dans Angular.

import { Component, OnInit} from '@angular/core';

export class AppComponent implements onInit {
  ngOnInit() {
    // Initialize tag on re-render
    window.bmwidget.scan();
  }
}

Exemple React

Le code suivant initialise la fonction window.bmwidget.scan() lors de l'appel le rendu d'un élément dans React.

import React, { useState, useEffect } from 'react';

function WrapperComponent() {
  ...
  useEffect(() => {
    // Initialize on re-render
    window.bmwidget.scan();
  });

  return (<div><button data-bm-widget-agent-id="myagentid">Chat with us</button></div>);
}

Étapes suivantes

Maintenant que vous avez intégré un widget Business Messages à votre site Web, vous pouvez commencer des conversations Business Messages depuis votre site Web et recevoir valeurs de contexte spécifiques aux widgets dans les messages des utilisateurs.