Działania konwersacyjne zostaną wycofane 13 czerwca 2023 r. Więcej informacji znajdziesz w artykule o zachodzie słońca między rozmowami.

Prośby

Komunikaty określają, jak akcja renderuje odpowiedzi dla użytkowników oraz w jaki sposób zachęca ich do kontynuowania. Podczas tworzenia działania możesz dodawać prośby o wywołania i do różnych miejsc w punktach widokowych. Potwierdzenia mogą być proste zarówno w formie odpowiedzi tekstowej, głosowej, jak i bardziej złożonej oraz zawierać bogactwo treści, takie jak karty, obrazy i tabele.

Typy odpowiedzi

W przypadku każdego komunikatu możesz wybrać interesujący Cię typ odpowiedzi, który Asystent ma zaprezentować:

  • Proste odpowiedzi: proste odpowiedzi wyglądają jak dymki czatu i korzystają z dźwięku syntezy mowy (SSML) lub języka syntezy mowy. Proste odpowiedzi to jedyne odpowiedzi obsługiwane na wszystkich typach urządzeń.
  • Reakcje rozszerzone: odpowiedzi rozszerzone zawierają elementy wizualne lub funkcjonalne, które poprawiają interakcje użytkowników z działaniami. Dzięki odpowiedziom rozszerzonym możesz też wyświetlać dane w tabeli i odtwarzać dłuższe materiały audio.
  • Odpowiedzi wizualne: wizualne opcje wyboru pozwalają użytkownikom wybrać spośród wielu opcji, które można łatwo odróżnić od tytułu lub obrazu.
  • Reakcje w multimediach: odpowiedzi z multimediów pozwalają odtwarzać działania za pomocą dłuższych treści audio niż SSML, a także dostarczają komponentu wizualnego z elementami sterującymi multimediami.
  • Interaktywne obszary robocze: interaktywne płótno renderuje odpowiedzi w postaci wyświetleń na pełnym ekranie i działa jako interaktywna aplikacja internetowa, którą Asystent wysyła w odpowiedzi na rozmowę użytkownika. Canvas korzysta z nieco innego formatu komunikatu, aby zapewnić większą elastyczność niż standardy internetowe, takie jak HTML, CSS i JavaScript.

Każdy z tych typów odpowiedzi ma ten sam podstawowy format monitu i ma dostęp do tych samych ogólnych funkcji, które opisujemy poniżej.

Format komunikatu

W projekcie Actions zdefiniujesz prośby w formacie YAML lub JSON. Każdy komunikat może zawierać maksymalnie 2 proste odpowiedzi i opcjonalnie definiować odpowiedź z elementami rozszerzonymi. Odpowiedzi są zdefiniowane w następujący sposób:

  • first_simple: pierwsza odpowiedź tekstowa lub mowa (prosta).
  • content: dodatkowe treści z odpowiedziami wysłane po wykonaniu prostej odpowiedzi.
  • last_simple Ostateczna odpowiedź tekstowa lub mowa (prosta) do wysłania użytkownikowi.
  • canvas: odwołuje się do aplikacji internetowej, która integruje się z Interaktywnym Canvas.

Domyślnie prośby są dodawane do siebie w kolejności powyżej. Zanim użytkownik będzie mógł odpowiedzieć, Asystent przedstawia mu wszystkie prośby w kolejce.

Dodatkowo zapewniasz elastyczność działania za pomocą tych funkcji:

  • Proponowani użytkownicy: umożliwiają definiowanie odpowiedzi na podstawie funkcji urządzenia użytkownika. Na przykład możesz, żeby Asystent wyświetlał rozbudowane odpowiedzi tylko wtedy, gdy użytkownik wejdzie w interakcję z urządzeniem obsługującym tę funkcję.
  • Warianty: warianty to alternatywne wersje jednej wiadomości. Możesz na przykład poprosić Asystenta o wybranie 5 różnych wersji wiadomości powitalnej za każdym razem, gdy użytkownik wywoła działanie.
  • Sugestie: gdy Asystent wyświetla prośbę, użytkownicy urządzeń obsługujących funkcję wyświetlania elementów mają podpowiedzi.

Domyślny wiersz poleceń zawiera 1 kandydat, 1 wariant i odpowiedź first_simple.

Kandydaci

W wierszu obiektu candidates można definiować odpowiedzi na podstawie funkcji urządzenia użytkownika. Na przykład możesz, żeby Asystent wyświetlał rozbudowane odpowiedzi tylko wtedy, gdy użytkownik wejdzie w interakcję z urządzeniem obsługującym tę funkcję. Aby określić typy urządzeń, na których Asystent może zwrócić kandydata, użyj właściwości selector obiektu candidates.

W poniższym przykładzie właściwość selector zawiera informacje o możliwościach urządzenia. Potwierdzenia ustawione w pierwszym kandydacie są wysyłane do użytkowników urządzeń, które mogą renderować odpowiedzi rozszerzone. Drugi kandydat zawiera podpowiedzi dla użytkowników, którzy mogą tylko otrzymywać odpowiedzi tekstowe i głosowe.

YAML

candidates:
  - selector:
      surface_capabilities:
        capabilities:
          - RICH_RESPONSE
    first_simple:
      variants:
        - speech: Here's a simple message.
    content:
      card:
        title: Image card title
        text: Some details about the image
        image:
          url: 'https://www.example.com/image/'
  - first_simple:
      variants:
        - speech: Text explains what the image might have shown in more detail.
    

JSON

{
  "candidates": [{
    "selector": {
      "surface_capabilities": {
        "capabilities": ["RICH_RESPONSE"]
      }
    },
    "first_simple": {
      "variants": [{
        "speech": "Here's a simple message."
      }]
    },
    "content": {
      "card": {
        "title": "Image card title",
        "text": "Some details about the image",
        "image": {
          "url": "https://www.example.com/image/"
        }
      }
    }
  }, {
    "first_simple": {
      "variants": [{
        "speech": "Text explains what the image might have shown in more detail."
      }]
    }
  }]
}
    

Dla każdego kandydata możesz określić co najmniej jedno wymaganie. Poniższa lista zawiera opis dostępnych wymagań:

  • SPEECH: urządzenie może komunikować się z użytkownikiem przez zamianę tekstu na mowę lub SSML.
  • RICH_RESPONSE: urządzenie może wyświetlać rozszerzone odpowiedzi, takie jak karty, listy i tabele.
  • LONG_FORM_AUDIO: urządzenie może odtwarzać dłuższe multimedia, takie jak muzyka czy podcasty.
  • INTERACTIVE_CANVAS: na urządzeniu może zostać wyświetlona interaktywna odpowiedź Canvas.
  • WEB_LINK: urządzenie może używać linków internetowych w odpowiedziach rozszerzonych, aby otwierać przeglądarkę.
  • HOME_STORAGE: urządzenie może zapisywać dane w pamięci domowej i uzyskiwać do nich dostęp.

Warianty

Warianty umożliwiają definiowanie wielu wersji odpowiedzi. Gdy Asystent wyśle alert do użytkownika, jeden z wariantów zostanie wybrany losowo. Sprawdzoną metodą projektowania wątków jest zapewnianie użytkownikom alternatywnych odpowiedzi w kontekście akcji.

Możesz na przykład podawać różne wersje wiadomości powitalnej, tak aby użytkownicy nie słyszeli tej samej odpowiedzi przy każdym wywołaniu działania:

YAML

candidates:
  - first_simple:
      variants:
        - speech: Hello.
        - speech: Hi there.
        - speech: Welcome.
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Hello."
      },{
        "speech": "Hi there."
      },{
        "speech": "Welcome."
      }]
    }
  }]
}
    

Sugestie

Przykład elementów z sugestiami na inteligentnym ekranie

Gdy Asystent wyświetla pytanie, użytkownicy urządzeń obsługujących funkcję wyświetlania elementów mają podpowiedzi. Użyj elementów sugestii, aby zasugerować odpowiedzi użytkowników, aby kontynuować lub zmienić przebieg rozmowy. Po dotknięciu elementu z sugestią dosłowny tekst wyświetlonego tekstu zostanie zwrócony tak, jakby użytkownik go wpisał.

W 1 wierszu poleceń może się znajdować maksymalnie 8 sugestii o długości maksymalnie 25 znaków w postaci zwykłego tekstu.

Aby dodać sugestię, podaj obiekt Suggestion zawierający każdą sugestię w osobnym polu title. Każdy tytuł musi być unikalny wśród zestawów elementów sugestii. W Actions Builder ten obiekt jest reprezentowany w formacie YAML i JSON jako suggestions.

Obok pytania możesz odpowiedzieć „Tak” i „Nie”:

YAML

candidates:
  - first_simple:
      variants:
        - speech: 'Welcome, do you want to play a game?'
    suggestions:
      - title: 'Yes'
      - title: 'No'
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Welcome, do you want to play a game?"
      }]
    },
    "suggestions": [{
      "title": "Yes"
    }, {
      "title": "No"
    }]
  }]
}