Bu sayfada, Google Chat'i genişleten Google Workspace eklentileri için kullanıcı arayüzlerinin (UA) nasıl oluşturulacağına dair genel bilgiler verilmektedir.
Google Chat'te eklentiler kullanıcılara Google Chat uygulamaları olarak görünür. Daha fazla bilgi edinmek için Google Chat'i genişletme başlıklı makaleyi inceleyin.
Chat uygulamaları için arayüz oluşturmak üzere aşağıdaki eklenti bileşenlerini kullanırsınız:
- Tetikleyiciler: Google Chat kullanıcılarının bir Chat uygulamasını çağırabileceği yöntemler (ör. bir alana ekleme veya mesaj gönderme).
- Etkinlik nesneleri: Chat uygulamalarının tetikleyicilerden veya kullanıcı arayüzü etkileşimlerinden aldığı veriler.
- İşlemler: Sohbet uygulamalarının etkileşimlere yanıt verebileceği yöntemler (ör. mesaj gönderme veya kart tabanlı kullanıcı arayüzü döndürme).
Chat uygulamaları aşağıdaki arayüzlerde kart oluşturabilir ve gösterebilir:
- Metin, statik veya etkileşimli kartlar ve düğmeler içerebilen mesajlar.
- Yeni bir pencerede açılan ve genellikle kullanıcılardan bilgi göndermelerini isteyen kartlar olan iletişim kutuları.
- Harici bir hizmetle ilgili bilgileri önizleyen kartlar olan bağlantı önizlemeleri.
Tetikleyiciler
Bu bölümde, Google Workspace eklentilerinin Chat'te kullandığı tetikleyiciler açıklanmaktadır.
Tetikleyiciler, kullanıcıların Chat kullanıcı arayüzünü kullanarak Chat uygulamasını çağırma yöntemleridir (ör. @bahsetmeler veya uygulama komutları).
Aşağıdaki tabloda Chat tetikleyicileri, açıklamaları ve Chat uygulamalarının genellikle nasıl yanıt verdiği gösterilmektedir:
Tetikleyici | Açıklama | Tipik yanıt |
---|---|---|
Alana eklendi |
Bir kullanıcı Chat uygulamasını bir alana ekler veya bir Google Workspace yöneticisi, Chat uygulamasını kuruluşundaki kullanıcılar için doğrudan mesaj alanlarına yükler. Yöneticiler tarafından yüklenen Chat uygulamaları hakkında bilgi edinmek için Google Workspace Yönetici Yardım dokümanlarında Marketplace uygulamalarını alanınıza yükleme başlıklı makaleyi inceleyin. |
Chat uygulaması, ne işe yaradığını ve alandaki kullanıcıların nasıl etkileşime geçebileceğini açıklayan bir ilk katılım mesajı gönderir. |
Mesaj |
Kullanıcı, mesajda Chat uygulamasıyla aşağıdaki yöntemlerden biriyle etkileşim kurar:
|
Chat uygulaması, mesajın içeriğine göre yanıt verir. Örneğin, bir Chat uygulaması /about komutunu, Chat uygulamasının yapabileceği görevleri açıklayan bir mesajla yanıtlar.
|
Alandan kaldırıldı |
Bir kullanıcı Chat uygulamasını alandan kaldırır veya bir Google Workspace yöneticisi, kuruluşundaki bir kullanıcının Chat uygulamasını kaldırır. Kullanıcılar, yöneticileri tarafından yüklenen Chat uygulamalarını kaldıramaz. Bir kullanıcı daha önce Chat uygulamasını yüklediyse Google Workspace yöneticisinin kaldırmaya çalışıp çalışmadığından bağımsız olarak Chat uygulaması yüklü kalır. |
Chat uygulaması, alan için yapılandırılmış tüm gelen bildirimleri (ör. bir webhook'un silinmesi) kaldırır ve dahili depolama alanını temizler. Sohbet uygulamaları artık alanın üyesi olmadığı için bu tetikleyiciye mesajla yanıt veremez. |
Uygulama komutu |
Kullanıcı, Chat uygulamasından hızlı komut veya eğik çizgi komutu kullanıyorsa |
Chat uygulaması komuta yanıt verir. Örneğin, bir mesajla yanıt verir veya iletişim kutusu açar. |
Diğer Google Workspace eklentilerinin aksine, bu tetikleyiciler için geri çağırma işlevlerini Google Chat API'yi kullanarak yapılandırmanız gerekir. Daha fazla bilgi için Google Chat uygulamasını yapılandırma başlıklı makaleyi inceleyin.
Tetikleyicilere yanıt vermek için aşağıdaki kılavuzları inceleyin:
- Google Chat mesajları gönderme
- Etkileşimli iletişim kutuları açma
- Google Chat mesajlarındaki bağlantıları önizleme
Etkinlik nesneleri
Bu bölümde, Chat etkinlik nesnelerinin tüm öğeleri tanımlanmakta ve açıklanmaktadır. Daha fazla bilgi için Etkinlik nesneleri başlıklı makaleyi inceleyin.
Etkinlik nesnesi | |
---|---|
commonEventObject |
object
(CommonEventObject)
Barındıran uygulamadan bağımsız olarak tüm etkinlik nesnelerinde ortak olan bilgileri içeren bir nesne. |
chat |
object
(Chat)
Chat etkileşimleriyle ilgili tüm bilgileri içeren bir nesne. |
Sohbet
Sohbet | |
---|---|
chat.user |
object
(User)
Chat uygulamasıyla etkileşime geçen Chat kullanıcısı. |
chat.space |
object
(Space)
Kullanıcının Chat uygulamasıyla etkileşimde bulunduğu Chat alanı. |
chat.eventTime |
|
Birlik alanı
|
|
chat.messagePayload |
Chat uygulamalarının Mesaj tetikleyicisinden aldığı yük. |
chat.addedToSpacePayload |
Chat uygulamalarının Alana eklendi tetikleyicisinden aldığı yük. |
chat.removedFromSpacePayload |
Chat uygulamalarının Alandan kaldırıldı tetikleyicisinden aldığı yük. |
chat.buttonClickedPayload |
Kullanıcılar bir mesaj veya karttaki düğmeyi tıkladığında Chat uygulamalarının aldığı yük. Kullanıcı bir düğmeyi tıklayarak bilgi gönderirse |
chat.widgetUpdatedPayload |
Kullanıcılar bir
|
chat.appCommandPayload |
Kullanıcı Chat uygulamasından bir komut kullandığında Chat uygulamalarının aldığı yük. |
Yük
Etkileşimin türüne bağlı olarak etkinlik, bir veya daha fazla Chat API kaynağı içeren bir yükü içerir.
Mesaj yükü
MessagePayload | |
---|---|
chat.messagePayload.message |
object
(Message)
Etkinliği tetikleyen Chat mesajı. |
chat.messagePayload.space |
object
(Space)
Kullanıcı, Chat uygulamasını çağıran mesajı gönderdiği Chat alanı. |
Uzay yüküne eklendi
AddedToSpacePayload | |
---|---|
chat.addedToSpacePayload.space |
object
(Space)
Kullanıcının Chat uygulamasını eklediği veya yüklediği Chat alanı. Yöneticiler Chat uygulamalarını yüklediğinde |
chat.addedToSpacePayload.interactionAdd |
boolean Kullanıcının, Chat uygulamasını bir alana mesaj kullanarak ekleyip eklemediğini belirtir. Örneğin, Chat uygulamasını @mention ediyor veya eğik çizgi komutu kullanıyor. true ise Chat, mesajla ilgili bilgileri içeren bir messagePayload ile başka bir etkinlik nesnesi gönderir.
|
Alan yükü üzerinden kaldırıldı
RemovedFromSpacePayload | |
---|---|
chat.removedFromSpacePayload.space |
object
(Space)
Kullanıcının Chat uygulamasını kaldırdığı veya kaldırdığı Chat alanı. Yöneticiler Chat uygulamalarını kaldırdığında |
Düğme tıklama yükü
ButtonClickedPayload | |
---|---|
chat.buttonClickedPayload.message |
object
(Message)
Kullanıcının tıkladığı düğmeyi içeren sohbet mesajı. |
chat.buttonClickedPayload.space |
object
(Space)
Kullanıcı, Chat uygulaması mesajındaki bir düğmeyi tıkladığı Chat alanı. |
chat.buttonClickedPayload.isDialogEvent |
boolean Kullanıcının iletişim kutusuyla etkileşime geçmek için düğmeyi tıklayıp tıklamadığını belirtir. |
chat.buttonClickedPayload.dialogEventType |
enum (DialogEventType) isDialogEvent true ise iletişim kutusunda etkileşim türü.
|
Enum
|
|
TYPE_UNSPECIFIED |
Varsayılan değer. Belirtilmedi. |
REQUEST_DIALOG |
Kullanıcı bir iletişim kutusu ister. Örneğin, eğik çizgi komutunu kullanabilir veya bir iletideki düğmeyi tıklayabilir. |
SUBMIT_DIALOG |
Kullanıcı, iletişim kutusundaki etkileşimli bir öğeyi tıklar. Örneğin, bir kullanıcı bir iletişim kutusunda bilgileri doldurur ve bilgileri göndermek için bir düğmeyi tıklar. |
Widget güncelleme yükü
WidgetUpdatedPayload | |
---|---|
chat.widgetUpdatedPayload.space |
object
(Space)
Etkileşimin gerçekleştiği Chat alanı. |
Uygulama komutu yükü
AppCommandPayload | |
---|---|
chat.appCommandPayload.appCommandMetadata |
object
(AppCommandMetadata)
Kullanıcı tarafından kullanılan komut ve komutun nasıl tetiklendiğiyle ilgili meta veriler. |
chat.appCommandPayload.space |
object
(Space)
Kullanıcı komutu kullandığı Chat alanı. |
chat.appCommandPayload.thread |
object
(Thread)
Etkileşim bir ileti dizisinde gerçekleştiyse kullanıcının komutu kullandığı Sohbet ileti dizisi. |
chat.appCommandPayload.message |
object
(Message)
Kullanıcının eğik çizgi komutuyla gönderdiği mesaj. |
chat.appCommandPayload.configCompleteRedirectUri |
string Komut için yetkilendirme veya yapılandırma gerekiyorsa kullanıcının, işlemi Google Chat dışında tamamladıktan sonra yönlendirileceği URL. |
chat.appCommandPayload.isDialogEvent |
boolean Komutun bir iletişim kutusu açıp açmayacağını belirtir. |
chat.appCommandPayload.dialogEventType |
enum (DialogEventType) Bir iletişim kutusuyla etkileşim türü. |
Enum
|
|
TYPE_UNSPECIFIED |
Varsayılan değer. Belirtilmedi. |
REQUEST_DIALOG |
Kullanıcı bir iletişim kutusu ister. Örneğin, eğik çizgi komutunu kullanabilir veya bir iletideki düğmeyi tıklayabilir. |
SUBMIT_DIALOG |
Kullanıcı, iletişim kutusundaki etkileşimli bir öğeyi tıklar. Örneğin, bir kullanıcı bir iletişim kutusunda bilgileri doldurur ve bilgileri göndermek için bir düğmeyi tıklar. |
Uygulama Komutu Meta Verileri
AppCommandMetadata | |
---|---|
chat.appCommandPayload.appCommandMetadata.appCommandId |
Komut kimliği. |
chat.appCommandPayload.appCommandMetadata.appCommandType |
enum (AppCommandType) Komutun türü. |
Enum
|
|
APP_COMMAND_TYPE_UNSPECIFIED |
Varsayılan değer. Belirtilmedi. |
SLASH_COMMAND |
Kullanıcı, eğik çizgi / ile başlayan bir mesaj göndererek komutu kullanır. |
Sohbet işlemleri
Bu bölümde, Chat uygulamalarının kullanıcı etkileşimlerine yanıt vermek için ek eylemleri nasıl kullanabileceği açıklanmaktadır.
Eklenti işlemiyle yanıt vermek için sohbet uygulamasının 30 saniye içinde yanıt vermesi ve yanıtın etkileşimin gerçekleştiği alanda yayınlanması gerekir. Aksi takdirde Chat uygulamasının kimlik doğrulamayı ayarlayıp yanıt vermek için Google Chat API'yi çağırması gerekir.
Sohbet uygulamaları, etkileşimleri birçok şekilde yönetebilir ve yanıtlayabilir. Chat uygulamaları çoğu durumda mesajla yanıt verir. Sohbet uygulamaları, bir veri kaynağından bazı bilgileri arayabilir, etkinlik nesnesi bilgilerini kaydedebilir veya başka herhangi bir şeyi yapabilir. Google Chat uygulamasının temelini bu işleme davranışı oluşturur.
Chat uygulamaları, kullanıcı etkileşimlerine yanıt vermek için ilgili etkinlik nesnesini işlemeli ve aşağıdaki JSON nesnelerinden birini döndürmelidir:
DataActions
: Google Workspace verilerini oluşturur veya günceller. Chat mesajları göndermek veya güncellemek için nesnenin,Message
verilerindeki değişiklikleri tanımlayan vechatDataActionMarkup
olarak temsil edilen işaretlemeyi içermesi gerekir.RenderActions
: Mesajlarda ve iletişim kutularında kartları görüntüler veya kartlar arasında gezinir.basic_authorization_prompt
: Yetkilendirme kartı olan kullanıcılardan Google dışındaki bir hizmette oturum açmalarını veya kimlik doğrulama yapmalarını ister. Ayrıntılar için Google Workspace eklentinizi üçüncü taraf hizmetine bağlama başlıklı makaleyi inceleyin.
Chat uygulamasında istenen yanıt | İade için gerekli işlem |
---|---|
Mesaj gönderme veya güncelleme | DataActions |
İletişim kutularını açma, güncelleme veya kapatma. | RenderActions |
Bir karttan veya iletişim kutusunda bilgi toplamak için kullanıcıların çoklu seçim menüsüne yazdığına göre seçim öğeleri önerin. | RenderActions |
Chat kullanıcılarının bir alanda gönderdiği mesajlardaki bağlantıları önizleyin. | DataActions |
Google Chat API'yi kullanarak yanıt verme
Chat uygulamalarının, bir eklenti işlemi döndürmek yerine Google Chat API'yi kullanarak etkileşime yanıt vermesi gerekebilir. Örneğin, Chat uygulamaları aşağıdakilerden herhangi birini yapmak için Google Chat API'yi çağırmalıdır:
- 30 saniye sonra bir etkileşime yanıt verin.
- Etkileşimin gerçekleştiği alanın dışında görev gerçekleştirme.
- Chat'te eklenti işlemi olarak kullanılamayan görevleri gerçekleştirebilirsiniz. Örneğin, bir kullanıcının veya Chat uygulamasının üyesi olduğu alanları listeleyebilir ya da alana kullanıcı ekleyebilirsiniz.
- Chat kullanıcısı adına görevler gerçekleştirme (kullanıcı kimlik doğrulaması gerekir).
Chat API'nin kimliğini doğrulama ve çağırma hakkında bilgi edinmek için Chat API'ye genel bakış başlıklı makaleyi inceleyin.