Otrzymuj interakcje użytkowników i reaguj na nie

Na tej stronie opisaliśmy, jak aplikacja Google Chat może odbierać interakcje z użytkownikami i na nie reagować. Nazywamy je też zdarzeniami interakcji z aplikacją Google Chat.

Zdarzenie interakcji z aplikacją Google Chat reprezentuje dowolne działanie wykonywane przez użytkownika w celu wywołania aplikacji do obsługi czatu lub interakcji z nią, np. @wzmianki o aplikacji Google Chat lub dodanie jej do pokoju. Gdy użytkownicy wchodzą w interakcję z aplikacją Google Chat, Google Chat wysyła do niej zdarzenie interakcji. Aplikacja Google Chat może użyć zdarzenia do przetworzenia interakcji i utworzenia odpowiedzi.

Na przykład aplikacje do obsługi czatu używają zdarzeń interakcji do:

Przykład zdarzenia interakcji Typowa odpowiedź z aplikacji Google Chat
Użytkownik wywołuje aplikację do obsługi czatu, dodając @wzmiankę lub polecenie po ukośniku. Aplikacja Google Chat przetwarza treść wiadomości, aby utworzyć wiadomość. Na przykład aplikacja Google Chat odpowiada na polecenie /about komunikatem wyjaśniającym zadania, które może wykonać ta aplikacja.
Użytkownik dodaje aplikację Google Chat do pokoju. Aplikacja Google Chat wysyła wiadomość dla nowych użytkowników, która wyjaśnia, do czego służy i jak użytkownicy w pokoju mogą wchodzić z nim w interakcję.
Użytkownik usuwa aplikację Google Chat z pokoju. Aplikacja Google Chat usunie wszystkie przychodzące powiadomienia skonfigurowane dla pokoju (takie jak usunięcie webhooka) i zwolni pamięć wewnętrzną.
Użytkownik klika przycisk na karcie lub w oknie dialogowym wysłanym przez aplikację Google Chat. Aplikacja Google Chat przetwarza i przechowuje przesłane przez użytkownika dane albo zwraca inną kartę lub okno.

W przypadku każdego typu interakcji Google Chat wysyła inny typ zdarzenia tej interakcji, dzięki czemu aplikacja Google Chat może odpowiednio obsłużyć każdy typ zdarzenia. Na przykład Google Chat używa typu zdarzenia ADDED_TO_SPACE w przypadku każdej interakcji, w ramach której użytkownik dodaje aplikację Google Chat do pokoju. Dzięki temu może ona obsługiwać odpowiedź, np. opublikować wiadomość powitalną w pokoju. Wszystkie obsługiwane zdarzenia interakcji znajdziesz w dokumentacji referencyjnej EventType.

Na tej stronie dowiesz się, jak:

  • Skonfiguruj aplikację Google Chat, aby odbierać wydarzenia.
  • Przetwórz zdarzenie interakcji w swojej infrastrukturze.
  • W razie potrzeby reaguj na zdarzenia interakcji.

Odbieranie zdarzeń interakcji z aplikacją Google Chat

W tej sekcji dowiesz się, jak odbierać i przetwarzać zdarzenia interakcji z aplikacją Google Chat.

Konfigurowanie aplikacji Google Chat pod kątem odbierania zdarzeń interakcji

Nie wszystkie aplikacje do obsługi czatu są interaktywne. Na przykład przychodzące webhooki mogą tylko wysyłać wiadomości wychodzące i nie mogą odpowiadać użytkownikom. Jeśli tworzysz interaktywną aplikację do obsługi czatu, musisz wybrać punkt końcowy, który umożliwia aplikacji Google Chat odbieranie i przetwarzanie zdarzeń interakcji oraz na nie reagowanie. Więcej informacji o projektowaniu aplikacji Google Chat znajdziesz w artykule na temat architektur implementacji aplikacji do obsługi czatu.

Jeśli masz interaktywną aplikację do obsługi czatu, musisz skonfigurować interfejs Google Chat API tak, aby usługa ta mogła wysyłać zdarzenia interakcji:

  1. W konsoli Google Cloud otwórz stronę interfejsu Google Chat API:

    Otwórz stronę interfejsu Google Chat API

  2. Kliknij kartę Configuration (Konfiguracja).
  3. W sekcji Funkcje interaktywne kliknij przełącznik Włącz funkcje interaktywne, aby ustawić go w pozycji włączonej.
  4. W sekcji Funkcjonalność zaznacz co najmniej jedno z tych pól wyboru:
    1. Odbieranie wiadomości 1:1: umożliwia użytkownikom interakcję z aplikacją Google Chat w pokojach czatu. Twoja aplikacja do obsługi czatu otrzymuje zdarzenia interakcji za każdym razem, gdy użytkownik wysyła wiadomość w pokoju czatu.
    2. Dołączanie do pokoi i rozmów grupowych: pozwala użytkownikom dodawać Twoją aplikację Google Chat do pokoi z więcej niż 1 osobą i usuwać je z pokoi. Aplikacja do obsługi czatu otrzymuje zdarzenia interakcji za każdym razem, gdy zostanie dodana do pokoju lub z niego usunięta oraz za każdym razem, gdy użytkownik doda @wzmiankę lub użyje w pokoju polecenia po ukośniku.
  5. W sekcji Ustawienia połączenia określ, gdzie Google Chat ma wysyłać zdarzenia interakcji z aplikacją.
  6. Opcjonalnie: w sekcji Polecenia po ukośniku dodaj i skonfiguruj co najmniej 1 polecenie po ukośniku. Więcej informacji znajdziesz w artykule Konfigurowanie poleceń po ukośniku.
  7. Opcjonalnie: w sekcji Podglądy linków dodaj i skonfiguruj co najmniej 1 wzorzec adresu URL, którego podgląd wyświetla aplikacja do obsługi czatu. Więcej informacji znajdziesz w sekcji Podgląd linków.
  8. Kliknij Zapisz.

Aplikacja Google Chat jest teraz skonfigurowana tak, aby odbierać zdarzenia interakcji z Google Chat.

Obsługa ponownych prób wywołania HTTP do usługi

Jeśli nie uda się wysłać żądania HTTPS do usługi (np. przekroczą limit czasu, tymczasowa awaria sieci lub kod stanu HTTPS inny niż 2xx), Google Chat może ponawiać próbę dostarczenia kilka razy w ciągu kilku minut (nie jest to gwarantowane). W związku z tym w pewnych sytuacjach aplikacja do obsługi czatu może kilka razy otrzymać tę samą wiadomość. Jeśli żądanie zostanie ukończone, ale zwróci nieprawidłowy ładunek wiadomości, Google Chat nie ponawia próby.

Przetwarzanie zdarzeń interakcji i reagowanie na nie

W tej sekcji wyjaśniamy, jak aplikacje w Google Chat mogą przetwarzać zdarzenia interakcji i reagować na nie.

Gdy aplikacja do obsługi czatu otrzyma zdarzenie interakcji z Google Chat, może ona odpowiadać na wiele sposobów. W wielu przypadkach interaktywne aplikacje do obsługi czatu odpowiadają użytkownikowi, wysyłając wiadomość. Aplikacja Google Chat może też wyszukiwać niektóre informacje ze źródła danych, zapisywać informacje o zdarzeniach interakcji i cokolwiek innego. Zasadniczo sposób przetwarzania danych definiuje aplikację Google Chat.

Dla każdego zdarzenia interakcji aplikacje do obsługi czatu otrzymują treści żądania, czyli ładunek JSON reprezentujący zdarzenie. Możesz użyć tych informacji do przetworzenia odpowiedzi. Przykłady ładunków zdarzeń znajdziesz w artykule Typy zdarzeń interakcji z aplikacją do Google Chat.

Poniższy diagram pokazuje, jak aplikacja Google Chat zazwyczaj przetwarza różne typy zdarzeń interakcji i jak na nie reaguje:

Architektura sposobu, w jaki aplikacje w Google Chat przetwarzają zdarzenia interakcji.

Wyświetlaj odpowiedź w trakcie jej generowania

Zdarzenia interakcji pozwalają aplikacjom Google Chat odpowiadać w czasie rzeczywistym lub synchronicznie. Synchroniczne odpowiedzi nie wymagają uwierzytelniania.

Informacje o tworzeniu synchronicznych odpowiedzi na zdarzenia interakcji znajdziesz w tych przewodnikach:

Aby synchronicznie odpowiadać, aplikacja do obsługi czatu musi odpowiedzieć w ciągu 30 sekund, a odpowiedź musi zostać opublikowana w pokoju, w którym miała miejsce interakcja. W przeciwnym razie aplikacja Google Chat może odpowiadać asynchronicznie.

Odpowiadaj asynchronicznie

Czasami aplikacje do obsługi czatu muszą zareagować na zdarzenie interakcji po 30 sekundach lub wykonać zadanie poza pokojem, w którym to zdarzenie zostało wygenerowane. Na przykład aplikacja Google Chat może chcieć odpowiedzieć użytkownikowi po ukończeniu długotrwałego zadania. W takim przypadku aplikacje Google Chat mogą odpowiadać asynchronicznie, wywołując interfejs Google Chat API.

Aby utworzyć wiadomość za pomocą interfejsu Chat API, zapoznaj się z sekcją Tworzenie wiadomości. Wskazówki dotyczące korzystania z dodatkowych metod interfejsu Chat API znajdziesz w artykule Omówienie interfejsu Chat API.