Bu sayfada, Google Chat uygulamasının kullanıcı arayüzlerini (UI) göstermek ve kullanıcılara yanıt vermek için nasıl iletişim kutuları açabileceği açıklanmaktadır.
Diyaloglar, Chat alanından veya mesajından açılan pencereli, kart tabanlı arayüzlerdir. İletişim kutusu ve içeriği yalnızca iletişim kutusunu açan kullanıcı tarafından görülebilir.
Chat uygulamaları, çok adımlı formlar da dahil olmak üzere Chat kullanıcılarından bilgi istemek ve toplamak için iletişim kutularını kullanabilir. Form girişleri oluşturma hakkında daha fazla bilgi için Kullanıcılardan bilgi toplama ve işleme başlıklı makaleyi inceleyin.
Ön koşullar
HTTP
Kullanıcı etkileşimlerini alan ve bunlara yanıt veren bir Google Chat uygulaması. Oluşturmak için HTTP hızlı başlangıç bölümünü tamamlayın.
Apps Komut Dosyası
Kullanıcı etkileşimlerini alan ve bunlara yanıt veren bir Google Chat uygulaması. Oluşturmak için Apps Komut Dosyası hızlı başlangıç kılavuzunu tamamlayın.
İletişim kutusu açma
Bu bölümde, aşağıdakileri yaparak nasıl yanıt vereceğiniz ve diyalog oluşturacağınız açıklanmaktadır:
- Kullanıcı etkileşiminden iletişim kutusu isteğini tetikleyin.
- Geri dönerek ve bir iletişim kutusu açarak isteği işleyin.
- Kullanıcılar bilgi gönderdikten sonra, iletişim kutusunu kapatarak veya başka bir iletişim kutusu döndürerek gönderimi işleyin.
İletişim kutusu isteğini tetikleme
Bir Chat uygulaması yalnızca kullanıcı etkileşimlerine (ör. karttaki bir mesajdan gelen komut veya düğme tıklaması) yanıt vermek için iletişim kutuları açabilir.
Kullanıcılara bir iletişim kutusuyla yanıt vermek için Chat uygulamasının aşağıdaki gibi bir etkileşim oluşturması gerekir:
- Komutlara yanıt verme İsteği bir komuttan tetiklemek için komutu yapılandırırken İletişim kutusu açar onay kutusunu işaretlemeniz gerekir.
- Mesajdaki bir düğme tıklamasına yanıt verme:
Mesajda, kartın bir parçası olarak veya mesajın alt kısmında. İletideki bir düğmeden isteği tetiklemek için düğmenin
onClickişlemini,interactionözelliğiniOPEN_DIALOGolarak ayarlayarak yapılandırın. - Chat uygulaması ana sayfasında düğme tıklamasına yanıt verme. Ana sayfalardan iletişim kutularını açma hakkında bilgi edinmek için Google Chat uygulamanız için ana sayfa oluşturma başlıklı makaleyi inceleyin.
/addContact eğik çizgi komutunu kullanmalarını isteyen bir mesaj gönderiyor. Mesajda, kullanıcıların komutu tetiklemek için tıklayabileceği bir düğme de bulunur.
Aşağıdaki kod örneğinde, kart mesajındaki bir düğmeden nasıl iletişim kutusu isteği tetikleneceği gösterilmektedir. İletişim kutusunu açmak için düğmenin onClick.action.interaction alanını OPEN_DIALOG olarak ayarlayın:
Node.js
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Python
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Java
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İlk iletişim kutusunu açın
Kullanıcı bir iletişim kutusu isteğini tetiklediğinde, sohbet uygulamanız dialogEventType nesnesini REQUEST_DIALOG olarak belirten bir yükle birlikte event nesnesi alır.
Chat uygulamanız, bir iletişim kutusu açmak için gelen isteğe yanıt olarak bir kart göstermek üzere gezinme pushCard ile birlikte RenderActions nesnesi döndürebilir. Kart, bir veya daha fazla widget'ın sections[] dahil olmak üzere tüm kullanıcı arayüzü (UI) öğelerini içermelidir. Kullanıcılardan bilgi toplamak için form girişi widget'ları ve bir düğme widget'ı belirtebilirsiniz. Form girişlerini tasarlama hakkında daha fazla bilgi edinmek için Kullanıcılardan bilgi toplama ve bu bilgileri işleme başlıklı makaleyi inceleyin.
Aşağıdaki kod örneğinde, bir Chat uygulamasının nasıl yanıt döndürdüğü gösterilmektedir. Bu yanıt, bir iletişim kutusu açar:
Node.js
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Python
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Java
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İletişim kutusu gönderimini işleme
Kullanıcılar bir iletişim kutusunu gönderen düğmeyi tıkladığında Chat uygulamanız, buttonClickedPayload nesnesi içeren bir etkinlik nesnesi alır. Yükte dialogEventType, SUBMIT_DIALOG olarak ayarlanır. İletişim kutusundaki bilgilerin nasıl toplanıp işleneceğini anlamak için Google Chat kullanıcılarından bilgi toplama ve işleme başlıklı makaleyi inceleyin.
Sohbet uygulamanız, aşağıdaki işlemlerden birini yaparak etkinlik nesnesine yanıt vermelidir:
- Başka bir kartı veya formu doldurmak için başka bir yanıt döndürün.
- Kullanıcının gönderdiği verileri doğruladıktan sonra iletişim kutusunu kapatın ve isteğe bağlı olarak onay mesajı gönderin.
İsteğe bağlı: Başka bir iletişim kutusu döndürme
Kullanıcılar ilk iletişim kutusunu gönderdikten sonra Chat uygulamaları, kullanıcıların bilgileri göndermeden önce incelemesine, çok adımlı formları tamamlamasına veya form içeriğini dinamik olarak doldurmasına yardımcı olmak için bir veya daha fazla ek iletişim kutusu döndürebilir.
Kullanıcıların girdiği verileri işlemek için Chat uygulaması, verileri etkinliğin commonEventObject.formInputs nesnesinde işler. Giriş widget'larından değer alma hakkında daha fazla bilgi edinmek için Kullanıcılardan bilgi toplama ve bu bilgileri işleme başlıklı makaleyi inceleyin.
Kullanıcıların ilk iletişim kutusundan girdiği verileri takip etmek için sonraki iletişim kutusunu açan düğmeye parametreler eklemeniz gerekir. Ayrıntılar için Verileri başka bir karta aktarma başlıklı makaleyi inceleyin.
Bu örnekte, bir sohbet uygulaması, gönderilmeden önce onay için ikinci bir iletişim kutusuna yönlendiren ilk iletişim kutusunu açıyor:
Node.js
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Python
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Java
FUNCTION_URL kısmını, düğme tıklamalarını işleyen HTTP uç noktasıyla değiştirin.
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İletişim kutusunu kapat
Kullanıcılar bir iletişim kutusundaki gönder düğmesini tıkladığında Chat uygulamanız, ilişkili işlemi yürütür ve buttonClickedPayload değeri aşağıdaki gibi ayarlanmış etkinlik nesnesini sağlar:
isDialogEventtrue.dialogEventTypeSUBMIT_DIALOG.
Chat uygulaması, RenderActions nesnesini döndürmelidir. Bu nesnede endNavigation, CLOSE_DIALOG (endNavigation: "CLOSE_DIALOG") olarak ayarlanmalıdır.
İsteğe bağlı: Geçici bir bildirim görüntüleme
İletişim kutusunu kapattığınızda, uygulamayla etkileşimde bulunan kullanıcıya geçici bir metin bildirimi de gösterebilirsiniz.
Bildirim göstermek için notification alanı ayarlanmış RenderActions nesnesini döndürün.
Aşağıdaki örnek, iletişim kutusunu bir metin bildirimiyle kapatır:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
Parametreleri iletişim kutuları arasında iletme hakkında ayrıntılı bilgi için Verileri başka bir karta aktarma başlıklı makaleyi inceleyin.
İsteğe bağlı: Onay sohbet mesajı gönderme
İletişim kutusunu kapattığınızda yeni bir sohbet mesajı da gönderebilir veya mevcut bir mesajı güncelleyebilirsiniz.
Yeni bir mesaj göndermek için DataActions
alanı yeni mesajla ayarlanmış bir
CreateMessageAction nesnesi döndürün.
Aşağıdaki örnek, yeni bir mesaj göndererek iletişim kutusunu kapatır:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
Kullanıcı bir iletişim kutusu gönderdikten sonra mesajı güncellemek için aşağıdaki işlemlerden birini içeren bir DataActions
nesnesi döndürün:
UpdateMessageAction: Kullanıcının iletişim kutusu istediği mesaj gibi, Chat uygulaması tarafından gönderilen bir mesajı günceller.UpdateInlinePreviewAction: Kartı bağlantı önizlemesinden günceller.
Sorun giderme
Bir Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir hata oluştu" veya "İsteğiniz işlenemiyor" mesajı gösterilir. Bazen Chat kullanıcı arayüzünde hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç üretir. Örneğin, kart mesajı görünmeyebilir.
Chat kullanıcı arayüzünde hata mesajı gösterilmese de Chat uygulamaları için hata günlüğü kaydı etkinleştirildiğinde hataları düzeltmenize yardımcı olacak açıklayıcı hata mesajları ve günlük verileri kullanılabilir. Hataları görüntüleme, hata ayıklama ve düzeltmeyle ilgili yardım için Google Chat hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.
İlgili konular
- Kişi Yöneticisi örneğini görüntüleyin. Bu örnek, iletişim bilgilerini toplamak için iletişim kutularını kullanan bir Chat uygulamasıdır.
- Google Chat uygulaması ana sayfasından iletişim kutularını açma.
- Google Chat uygulama komutlarına yanıt verme
- Kullanıcılar tarafından girilen bilgileri işleme
Eklenti olmayan sohbet uygulamaları: Etkileşimli iletişim kutularını açma
Aşağıdaki belgeler, Google Workspace eklentisi olmayan Chat uygulamaları için geçerlidir. Eklenti olmayan bir Chat uygulamasını taşımak için Google Chat uygulamasını Google Workspace eklentisine dönüştürme başlıklı makaleyi inceleyin.
İletişim kutusu isteğini tetikleme
Aşağıdaki kod örneğinde, eklenti olmayan bir Chat uygulamasının, kart mesajındaki bir düğmeden nasıl iletişim kutusu isteği tetiklediği gösterilmektedir. İletişim kutusunu açmak için button.interaction alanını OPEN_DIALOG olarak ayarlayın:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İlk iletişim kutusunu açın
Bir kullanıcı iletişim kutusu isteğini tetiklediğinde, eklenti olmayan bir Chat uygulaması, Chat API'sinde event türü olarak gösterilen bir etkileşim etkinliği alır. Etkileşim bir iletişim kutusu isteğini tetikliyorsa etkinliğin dialogEventType alanı REQUEST_DIALOG olarak ayarlanır.
Bir iletişim kutusu açmak için eklenti olmayan bir Chat uygulaması, type: "DIALOG" ve Message nesneleri içeren bir actionResponse nesnesi döndürerek isteğe yanıt verebilir. İletişim kutusunun içeriğini belirtmek için aşağıdaki nesneleri eklersiniz:
actionResponsenesnesi vetypeözelliğiDIALOGolarak ayarlanmış olmalıdır.- Bir
dialogActionnesnesi.bodyalanında, kartta gösterilecek kullanıcı arayüzü (UI) öğeleri bulunur. Bu öğeler arasında bir veya daha fazlasectionswidget'ı yer alır. Kullanıcılardan bilgi toplamak için form girişi widget'ları ve bir düğme widget'ı belirtebilirsiniz.
Aşağıdaki kod örneğinde, eklenti olmayan bir Chat uygulamasının nasıl iletişim kutusu açan bir yanıt döndürdüğü gösterilmektedir:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İletişim kutusu gönderimini işleme
Kullanıcılar bir iletişim kutusunu gönderen bir düğmeyi tıkladığında, eklenti olmayan bir sohbet uygulaması, CARD_CLICKED etkileşim etkinliğini alır. Bu etkinlikte dialogEventType, SUBMIT_DIALOG olur.
İsteğe bağlı: Başka bir iletişim kutusu döndürme
Eklenti olmayan bir Chat uygulamasına kullanıcıların girdiği verileri işlemek için Chat uygulaması event.common.formInputs nesnesini kullanır.
Bu örnekte, eklenti olmayan bir sohbet uygulaması, gönderilmeden önce onay için ikinci bir iletişim kutusuna yönlendiren ilk iletişim kutusunu açıyor:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İletişim kutusunu kapat
Kullanıcılar bir iletişim kutusundaki düğmeyi tıkladığında, eklenti olmayan bir Chat uygulaması ilişkili işlemi yürütür ve etkinlik nesnesini aşağıdaki bilgilerle birlikte sağlar:
eventTypeCARD_CLICKED.dialogEventTypeSUBMIT_DIALOG.
Eklenti olmayan Chat uygulaması, type özelliği DIALOG olarak ayarlanmış ve dialogAction özelliği doldurulmuş bir ActionResponse nesnesi döndürmelidir. İşlem başarısız olmadıysa dialogAction.actionStatus, aşağıdaki örnekte olduğu gibi OK olmalıdır:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İsteğe bağlı: Geçici bir bildirim görüntüleme
Eklenti olmayan bir sohbet uygulaması, actionStatus ayarlanmış bir ActionResponse döndürerek başarı veya hata bildirimiyle yanıt verebilir.
Aşağıdaki örnekte, parametrelerin geçerli olup olmadığı kontrol edilir ve geçersiz olduğunda iletişim kutusu bir metin bildirimiyle kapatılır:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
İsteğe bağlı: Onay sohbet mesajı gönderme
Eklenti olmayan bir sohbet uygulamasında iletişim kutusu kapatılırken yeni bir mesaj göndermek için type: "NEW_MESSAGE" ile birlikte bir ActionResponse nesnesi döndürün. Aşağıdaki örnekte, onay kısa mesajıyla iletişim kutusu kapatılıyor:
Node.js
Python
Java
Apps Komut Dosyası
Bu örnek, card JSON döndürerek kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.
Bir mesajı güncellemek için güncellenmiş mesajı içeren ve type değerini aşağıdakilerden biri olarak ayarlayan bir actionResponse nesnesi döndürün:
UPDATE_MESSAGE: İletişim kutusu isteğini tetikleyen mesajı günceller.UPDATE_USER_MESSAGE_CARDS: Kartı bağlantı önizlemesinden günceller.