Bu sayfada, Google Chat'i genişleten Google Workspace eklentileri için kullanıcı arayüzlerinin (UI) nasıl oluşturulacağı hakkında genel bilgiler verilmektedir.
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ğırma yöntemleri (ör. uygulamayı bir alana ekleme veya uygulamaya mesaj gönderme).
- Etkinlik nesneleri: Chat uygulamalarının tetikleyicilerden veya kullanıcı arayüzü etkileşimlerinden aldığı veriler.
- İşlemler: Chat uygulamalarının etkileşimlere yanıt verme şekilleri (ör. mesaj gönderme veya kart tabanlı kullanıcı arayüzü döndürme).
Chat uygulamaları aşağıdaki arayüzlerde kart oluşturup gösterebilir:
- Metin, statik veya etkileşimli kartlar ve düğmeler içerebilen mesajlar.
- Chat uygulamasıyla bire bir doğrudan mesajların Ana Sayfa sekmesinde gösterilen ana sayfalar.
- 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ğırmasının belirli yollarıdır. Örneğin, @bahsetme veya uygulama komutlarını kullanma.
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 | Normal yanıt |
|---|---|---|
| Alana eklendi |
Bir kullanıcı, Chat uygulamasını bir alana ekler veya bir Google Workspace yöneticisi, kuruluşundaki kullanıcılar için Chat uygulamasını 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ı'ndaki Marketplace uygulamalarını alanınıza yükleme başlıklı makaleyi inceleyin. |
Chat uygulaması, ne yaptığını ve alandaki kullanıcıların uygulamayla nasıl etkileşim kurabileceğini açıklayan bir ilk katılım mesajı gönderir. |
| Mesaj |
Bir kullanıcı, Chat uygulamasında aşağıdaki yöntemlerden biriyle etkileşimde bulunur:
|
Chat uygulaması, mesajın içeriğine göre yanıt verir. Örneğin, bir Chat uygulaması, eğik çizgi komutu /about'ya Chat uygulamasının yapabileceği görevleri açıklayan bir mesajla yanıt verir.
|
| Alandan kaldırıldı |
Bir kullanıcı Chat uygulamasını alandan kaldırdığında veya bir Google Workspace yöneticisi, kuruluşundaki bir kullanıcı için Chat uygulamasını kaldırdığında Kullanıcılar, yöneticileri tarafından yüklenen Chat uygulamalarını kaldıramaz. Kullanıcı daha önce Chat uygulamasını yüklediyse Google Workspace yöneticisi kaldırmaya çalışsa bile Chat uygulaması yüklü kalır. |
Chat uygulaması, alan için yapılandırılmış tüm gelen bildirimleri (ör. webhook'u silme) kaldırır ve dahili depolama birimini temizler. Sohbet uygulamaları, artık alanın üyesi olmadıkları için bu tetikleyiciye mesajla yanıt veremez. |
| Uygulama komutu |
Kullanıcı bir Chat uygulaması komutu kullanır. |
Chat uygulaması komuta yanıt verir. Örneğin, mesajla yanıt verme veya iletişim kutusu açma. |
| Uygulama Ana Sayfası |
Bir kullanıcı, Chat uygulamasıyla bire bir doğrudan mesaj (DM) alanında Ana Sayfa sekmesini açar veya ana sayfa kartındaki bir widget'la etkileşime girer. |
Chat uygulaması, ana sayfa kartı gönderen (pushCard) veya gösterilen ana sayfa kartını güncelleyen (updateCard) bir RenderActions nesnesi döndürür.
|
Diğer eklentilerin aksine, bu tetikleyiciler için geri çağırma işlevlerini Google Chat API'yi kullanarak yapılandırmanız gerekir. Yardım için Sohbet uygulaması yapılandırma başlıklı makaleyi inceleyin.
Bir tetikleyiciye yanıt vermek için aşağıdaki kılavuzlara bakın:
- Google Chat mesajları gönderme
- Chat için ana sayfa yapılandırma
- Etkileşimli iletişim kutularını açma
- Google Chat mesajlarındaki bağlantıları önizleme
Etkinlik nesneleri
Chat uygulamaları, bir Chat tetikleyicisi çalıştırıldığında veya Chat kullanıcıları Chat uygulamasının kullanıcı arayüzüyle (ör. bir düğmeyi tıklayarak) etkileşimde bulunduğunda etkinlik nesneleri alır. Etkinlik nesnesi, etkileşim verilerini kullanarak bir kullanıcı arayüzüne yanıt vermenize veya kullanıcı arayüzünü güncellemenize olanak tanır.
Etkinlik nesnesi yükleri
Her Chat etkinliği nesnesi, ana makine ve platform ayrıntılarını (hostApp: "CHAT", clientPlatform, userLocale, userTimezone ve formInputs) içeren bir commonEventObject ile Chat'e özgü bağlamı içeren bir chat nesnesi içerir:
- Uygulama ana sayfası tetikleyicisi için (kullanıcı, Chat uygulamasıyla bire bir doğrudan mesajda Ana Sayfa sekmesini açtığında)
chatnesnesi, bir birleşimpayloadalanı olmadanchat.uservechat.eventTimeiçerir. Kullanıcı ana sayfa kartındaki bir düğmeyi tıkladığında etkinlik nesnesicommonEventObject.parameters(ve kartta form girişleri varsacommonEventObject.formInputs) de içerir. - Alan ve mesaj etkileşimleri (Alana eklendi, Mesaj, Alandan kaldırıldı, Uygulama komutu veya düğme ve widget etkileşimleri) için
chatnesnesichat.user,chat.space,chat.eventTimeve karşılık gelen etkileşim yükünü (messagePayload,addedToSpacePayload,removedFromSpacePayload,buttonClickedPayload,widgetUpdatedPayloadveyaappCommandPayload) içerir.
Etkinlik nesnelerini işleme hakkında bilgi edinmek için aşağıdaki kılavuzlara bakın:
- Google Chat mesajları gönderme
- Chat için ana sayfa yapılandırma
- Etkileşimli iletişim kutularını açma
- Google Chat mesajlarındaki bağlantıları önizleme
Chat ve diğer Google Workspace uygulamalarındaki eklenti etkinlik nesneleri hakkında bilgi edinmek için Etkinlik nesneleri başlıklı makaleyi inceleyin.
Sohbet işlemleri
Bu bölümde, Chat uygulamalarının kullanıcı etkileşimlerine yanıt vermek için eklenti işlemlerini nasıl kullanabileceği açıklanmaktadır.
Eklenti işlemiyle yanıt vermek için bir 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ı kimlik doğrulama ayarlamalı ve yanıt vermek için Google Chat API'yi çağırmalıdır.
Sohbet uygulamaları, etkileşimleri birçok şekilde ele alabilir ve yanıtlayabilir. Çoğu durumda, Chat uygulamaları mesajla yanıt verir. Sohbet uygulamaları, bir veri kaynağından bazı bilgileri arayabilir, etkinlik nesnesi bilgilerini kaydedebilir veya başka herhangi bir işlemi yapabilir. Bu işleme davranışı, Google Chat uygulamasını tanımlayan temel özelliktir.
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. Sohbet mesajları göndermek veya güncellemek için nesne,Messageverilerindeki değişiklikleri tanımlayan işaretlemeyi içermelidir. Bu işaretleme,chatDataActionMarkupolarak gösterilir.RenderActions: Ana sayfa veya iletişim kutusu oluşturun ya da güncelleyin veya çoklu seçim menüsü için giriş önerileri sağlayın.AuthorizationError: Kullanıcılardan, Google dışında bir hizmette oturum açmak veya hizmeti doğrulamak için yetkilendirme kartı kullanmalarını ister. Chat'te yalnızca temel yetkilendirme kartı desteklenir.
Aşağıdaki tabloda, Chat uygulamalarının işlemlerle nasıl yanıt verebileceği gösterilmektedir. Chat uygulamaları JSON nesneleri döndürebilir veya Apps Komut Dosyası'nın AddOnResponseService özelliğini kullanarak yanıt oluşturabilir.
| Sohbet uygulaması yanıtı | Döndürmek için gereken işlem (JSON) | Döndürmek için gerekli işlem (Apps Komut Dosyası) |
|---|---|---|
| Mesaj gönderme veya güncelleme | DataActions |
DataActionsResponse |
| Doğrudan mesajın Ana Sayfa sekmesinde bir ana sayfa oluşturma veya güncelleme | RenderActions |
ActionResponse |
| İletişim kutusunu açma, güncelleme veya kapatma | RenderActions |
ActionResponse |
| Bir karttan veya iletişim kutusundan bilgi toplamak için kullanıcıların çoklu seçim menüsüne yazdıklarına göre seçim öğeleri önerin. | RenderActions |
ActionResponse |
| Chat kullanıcılarının bir alanda gönderdiği mesajlardaki bağlantıları önizleme | DataActions |
DataActionsResponse |
Google Chat API'yi kullanarak yanıt verme
Eklenti işlemi döndürmek yerine, Chat uygulamalarının etkileşime yanıt vermek için Google Chat API'yi kullanması gerekebilir. Örneğin, Chat uygulamalarının aşağıdakilerden herhangi birini yapabilmek için Google Chat API'yi çağırması gerekir:
- 30 saniye sonra bir etkileşime yanıt verme
- Etkileşimin gerçekleştiği alanın dışında görevler gerçekleştirme.
- Chat'te, eklenti işlemleri olarak kullanılamayan görevleri gerçekleştirme Örneğin, bir kullanıcının veya Chat uygulamasının üyesi olduğu alanları listeleme ya da alana kullanıcı ekleme.
- Sohbet kullanıcısı adına görev gerçekleştirme (kullanıcı kimlik doğrulaması gerektirir).
Bir etkileşim etkinliğine 30 saniye sonra yanıt verirken, kullanıcıya "Sohbet uygulamanız yanıt vermiyor" şeklinde bir hata mesajı gösterilmesini önlemek için etkileşim etkinliğinin alındığını 30 saniye içinde boş bir yanıt göndererek onaylamanız gerekir.
Node.js
async function onEvent(req, res) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return res.send({});
};
Python
def on_event(event) -> dict:
# Trigger asynchronous job that will respond using the Google Chat API.
...
# Respond with an empty response to the Google Chat platform.
return {}
Java
public String onEvent(JsonNode event) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return "{}";
}
Apps Komut Dosyası
function onEvent(event) {
// Trigger asynchronous job that will respond using the Google Chat API.
...
// Respond with an empty response to the Google Chat platform.
return null;
}
Chat API'nin kimliğini doğrulama ve Chat API'yi çağırma hakkında bilgi edinmek için Chat API'ye genel bakış başlıklı makaleyi inceleyin.
İlgili konular
- Google Workspace eklentileri için tetikleyiciler
- Google Chat uygulaması yapılandırma
- Etkinlik nesneleri
- Eklenti işlemleri
- Google Chat mesajları gönderme
- Etkileşimli iletişim kutularını açma
- Google Chat mesajlarındaki bağlantıları önizleme
- Chat API'ye genel bakış