Mesaj gönder

Bu kılavuzda, Google Chat uygulamalarının mesaj gönderebileceği farklı yöntemler açıklanmaktadır:

  • Kullanıcı etkileşimine yanıt vererek gerçek zamanlı olarak kısa mesaj ve kart mesajları gönderin.
  • Message kaynağında create yöntemini çağırarak kısa mesaj ve kart mesajlarını eşzamansız olarak gönderin.
  • Bir mesaj dizisi başlatın veya bir mesaj dizisini yanıtlayın.
  • Mesaj gönderin ve mesajı adlandırın.

Message kaynağı, Google Chat'teki bir metin veya kart mesajını temsil eder. Google Chat API'de ilgili yöntemleri çağırarak create, get, update veya delete mesaj gönderebilirsiniz. Kısa mesajlar ve kart mesajları hakkında daha fazla bilgi edinmek için Google Chat mesajlarına genel bakış başlıklı makaleyi inceleyin.

Maksimum ileti boyutu (metin ve kartlar dahil) 32.000 bayttır. Bir mesaj bu boyutu aşarsa Chat uygulamanız birden fazla mesaj gönderebilir.

Google Chat uygulamaları, eşzamansız olarak kısa mesaj veya kart mesajı göndermek için Google Chat API'nin Message kaynağında create yöntemini çağırmak yerine, kullanıcı etkileşimlerine gerçek zamanlı olarak yanıt verecek mesajlar da oluşturabilir. Kullanıcı etkileşimlerine verilen yanıtlar için kimlik doğrulama gerekmez ve etkileşimli iletişim kutuları ile bağlantı önizlemeleri gibi diğer mesaj türleri desteklenir. Ayrıntılı bilgi için Google Chat uygulamanızla etkileşimleri alma ve yanıtlama başlıklı makaleyi inceleyin.

Ön koşullar

Node.js

Python

  • Google Chat'e erişimi olan bir Google Workspace hesabı.
  • Python 3.6 veya sonraki sürümler
  • pip paket yönetimi aracı
  • Python için en yeni Google istemci kitaplıkları. Bunları yüklemek veya güncellemek için komut satırı arayüzünüzde aşağıdaki komutu çalıştırın:

    pip3 install --upgrade google-api-python-client google-auth
    
  • Google Chat API'nin etkinleştirildiği ve yapılandırıldığı bir Google Cloud projesi Adımlar için Google Chat uygulaması oluşturma başlıklı makaleyi inceleyin.
  • Chat uygulamasının eşzamansız mesajlar göndermesi için yetki yapılandırıldı. Gerçek zamanlı olarak mesaj göndermek için yetkilendirme yapılandırması gerekmez.

Apps Komut Dosyası

Kısa mesaj gönderme

Bu bölümde, aşağıdaki iki yolla nasıl kısa mesaj gönderileceği açıklanmaktadır:

  • Kullanıcı etkileşimine yanıt vererek gerçek zamanlı bir kısa mesaj gönderin.
  • Google Chat API'yi eşzamansız olarak çağırarak kısa mesaj gönderin.

Gerçek zamanlı olarak kısa mesaj gönderin

Bu örnekte, Chat uygulamanız bir alana eklendiğinde kısa mesaj oluşturur ve gönderir. Kullanıcıların ilk katılım süreciyle ilgili en iyi uygulamalar hakkında bilgi edinmek için Kullanıcıların ve alanların ilk katılımda faydalı olmasını sağlama başlıklı makaleyi inceleyin.

Bir kullanıcı Chat uygulamanızı bir alana eklediğinde kısa mesaj göndermek için Chat uygulamanız bir ADDED_TO_SPACE etkileşim etkinliğine yanıt verir. ADDED_TO_SPACE etkileşim etkinliklerine kısa mesajla yanıt vermek için aşağıdaki kodu kullanın:

Node.js

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send(
      'Hello! This function is meant to be used in a Google Chat space.');
  }

  // Send an onboarding message when added to a Chat space
  if (req.body.type === 'ADDED_TO_SPACE') {
    res.json({
      'text': 'Hi, Cymbal at your service. I help you manage your calendar
      from Google Chat. Take a look at your schedule today by typing
      `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
      learn what else I can do, type `/help`.'
    });
  }
};

Apps Komut Dosyası

/**
 * Sends an onboarding message when the Chat app is added to a space.
 *
 * @param {Object} event The event object from Chat API.
 * @return {Object} Response from the Chat app. An onboarding message that
 * introduces the app and helps people get started with it.
 */
function onAddToSpace(event) {

  return {
    'text': 'Hi, Cymbal at your service. I help you manage your calendar
    from Google Chat. Take a look at your schedule today by typing
    `/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
    what else I can do, type `/help`.'
  }
}

Kod örneği aşağıdaki kısa mesajı döndürür:

Örnek ilk katılım mesajı.

Eşzamansız olarak kısa mesaj gönder

Aşağıdaki bölümde, uygulama kimlik doğrulaması ve kullanıcı kimlik doğrulamasıyla eşzamansız olarak nasıl kısa mesaj gönderileceği açıklanmaktadır.

Kısa mesaj göndermek için isteğinizde aşağıdakileri iletin:

  • Uygulama kimlik doğrulaması ile chat.bot yetkilendirme kapsamını belirtin. Kullanıcı kimlik doğrulamasıyla chat.messages.create yetkilendirme kapsamını belirtin.
  • Message kaynağında create yöntemini çağırın.

Uygulama kimlik doğrulamasını içeren kısa mesaj gönder

Uygulama kimlik doğrulaması ile kısa mesaj göndermek için yapmanız gerekenler aşağıda açıklanmıştır:

Python

  1. Çalışma dizininizde chat_create_text_message_app.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_create_text_message_app.py bölümüne ekleyin:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. Kodda SPACE alanını bir alan adıyla değiştirin. Bu adı, Chat API'deki spaces.list() yönteminden veya bir alanın URL'sinden öğrenebilirsiniz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_create_text_message_app.py
    

Chat API, gönderilen mesajın ayrıntılarını içeren bir Message örneğini döndürür.

Kullanıcı kimlik doğrulamasıyla kısa mesaj gönder

Kullanıcı kimlik doğrulaması ile kısa mesaj göndermek için yapmanız gerekenler aşağıda açıklanmıştır:

Python

  1. Çalışma dizininizde chat_create_text_message_user.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_create_text_message_user.py bölümüne ekleyin:

    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.messages.create"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then creates a text message in a Chat space.
        '''
    
        # Start with no credentials.
        creds = None
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                        'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds)
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().messages().create(
    
            # The space to create the message in.
            #
            # Replace SPACE with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            parent='spaces/SPACE',
    
            # The message to create.
            body={'text': 'Hello, world!'}
    
        ).execute()
    
        # Prints details about the created message.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. Kodda SPACE alanını bir alan adıyla değiştirin. Bu adı, Chat API'deki spaces.list() yönteminden veya alanın URL'sinden öğrenebilirsiniz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_create_text_message_user.py
    

Chat API, gönderilen mesajın ayrıntılarını içeren bir Message örneğini döndürür.

Kart mesajları gönderin

Bu bölümde, aşağıdaki iki yolla kart mesajlarının nasıl gönderileceği açıklanmaktadır:

  • Kullanıcı etkileşimine yanıt vererek gerçek zamanlı olarak kart mesajı gönderin.
  • Google Chat API'yi eşzamansız olarak çağırarak kart mesajı gönderin.

Gerçek zamanlı olarak kart mesajı gönderin

Chat uygulamaları, kullanıcı etkileşimine yanıt vermek için kart mesajları oluşturabilir. Örneğin, kullanıcının Chat uygulamasına mesaj göndermesi veya Chat uygulamasını bir alana eklemesi gibi. Kullanıcı etkileşimlerine yanıt verme hakkında daha fazla bilgi edinmek için Chat uygulaması etkileşim etkinliklerini alma ve yanıtlama başlıklı makaleyi inceleyin.

Bu örnekte, bir kullanıcı Chat uygulamasına bir mesaj gönderir ve Chat uygulaması, kullanıcının adını ve avatar resmini gösteren bir kart mesajı göndererek yanıt verir:

Gönderenin görünen adını ve avatar resmini gösteren bir kartla yanıt veren bir Chat uygulaması.

Node.js

Node/avatar-app/index.js
/**
 * Google Cloud Function that responds to messages sent from a
 * Google Chat room.
 *
 * @param {Object} req Request sent from Google Chat room
 * @param {Object} res Response to send back
 */
exports.helloChat = function helloChat(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    res.send('Hello! This function is meant to be used in a Google Chat ' +
      'Room.');
  }

  const sender = req.body.message.sender.displayName;
  const image = req.body.message.sender.avatarUrl;

  const data = createMessage(sender, image);

  res.send(data);
};

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} imageUrl the URL for the sender's avatar
 * @return {Object} a card with the user's avatar.
 */
function createMessage(displayName, imageUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`,
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '},
  };

  const avatarImageWidget = {
    image: {imageUrl},
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget,
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

Python

python/avatar-app/main.py
from typing import Any, Mapping

import flask
import functions_framework


# Google Cloud Function that responds to messages sent in
# Google Chat.
#
# @param {Object} req Request sent from Google Chat.
# @param {Object} res Response to send back.
@functions_framework.http
def hello_chat(req: flask.Request) -> Mapping[str, Any]:
  if req.method == "GET":
    return "Hello! This function must be called from Google Chat."

  request_json = req.get_json(silent=True)

  display_name = request_json["message"]["sender"]["displayName"]
  avatar = request_json["message"]["sender"]["avatarUrl"]

  response = create_message(name=display_name, image_url=avatar)

  return response


# Creates a card with two widgets.
# @param {string} name the sender's display name.
# @param {string} image_url the URL for the sender's avatar.
# @return {Object} a card with the user's avatar.
def create_message(name: str, image_url: str) -> Mapping[str, Any]:
  avatar_image_widget = {"image": {"imageUrl": image_url}}
  avatar_text_widget = {"textParagraph": {"text": "Your avatar picture:"}}
  avatar_section = {"widgets": [avatar_text_widget, avatar_image_widget]}

  header = {"title": f"Hello {name}!"}

  cards = {
      "text": "Here's your avatar",
      "cardsV2": [
          {
              "cardId": "avatarCard",
              "card": {
                  "name": "Avatar Card",
                  "header": header,
                  "sections": [avatar_section],
              },
          }
      ]
  }

  return cards

Apps Komut Dosyası

Bu örnek, card JSON ile bir kart mesajı gönderir. Apps Komut Dosyası kart hizmetini de kullanabilirsiniz.

apps-script/avatar-app/hello-chat.gs
/**
 * Responds to a MESSAGE event in Google Chat.
 *
 * @param {Object} event the event object from Google Chat
 */
function onMessage(event) {
  const displayName = event.message.sender.displayName;
  const avatarUrl = event.message.sender.avatarUrl;

  return createMessage(displayName, avatarUrl);
}

/**
 * Creates a card with two widgets.
 * @param {string} displayName the sender's display name
 * @param {string} avatarUrl the URL for the sender's avatar
 * @return {Object} a card with the sender's avatar.
 */
function createMessage(displayName, avatarUrl) {
  const cardHeader = {
    title: `Hello ${displayName}!`
  };

  const avatarWidget = {
    textParagraph: {text: 'Your avatar picture: '}
  };

  const avatarImageWidget = {
    image: {imageUrl: avatarUrl}
  };

  const avatarSection = {
    widgets: [
      avatarWidget,
      avatarImageWidget
    ],
  };

  return {
    text: 'Here\'s your avatar',
    cardsV2: [{
      cardId: 'avatarCard',
      card: {
        name: 'Avatar Card',
        header: cardHeader,
        sections: [avatarSection],
      }
    }],
  };
}

Eşzamansız olarak kart mesajı gönder

Kart mesajı göndermek için isteğinizde aşağıdakileri iletin:

  • Uygulama kimlik doğrulaması ile chat.bot yetkilendirme kapsamını belirtin. Kullanıcı kimlik doğrulamasıyla kart mesajı gönderemezsiniz.
  • Message kaynağında create yöntemini çağırın.

Aşağıda kart mesajının bir örneği verilmiştir:

Chat API ile gönderilen bir kart mesajı.

Uygulama kimlik doğrulamasıyla kart mesajı göndermek için:

Python

  1. Çalışma dizininizde chat_create_card_message.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_create_card_message.py bölümüne ekleyin:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # The message to create.
        body=
        {
          'cardsV2': [{
            'cardId': 'createCardMessage',
            'card': {
              'header': {
                'title': 'A card message!',
                'subtitle': 'Created with the Chat API',
                'imageUrl': 'https://developers.google.com/chat/images/chat-product-icon.png',
                'imageType': 'CIRCLE'
              },
              'sections': [
                {
                  'widgets': [
                    {
                      'buttonList': {
                        'buttons': [
                          {
                            'text': 'Read the docs!',
                            'onClick': {
                              'openLink': {
                                'url': 'https://developers.google.com/chat'
                              }
                            }
                          }
                        ]
                      }
                    }
                  ]
                }
              ]
            }
          }]
        }
    
    ).execute()
    
    print(result)
    
  3. Kodda SPACE alanını bir alan adıyla değiştirin. Bu adı, Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden öğrenebilirsiniz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_create_card_message.py
    

Bir mesaj dizisi başlatma veya yanıtlama

Mesaj dizisi başlatmak için bir mesaj gönderin ve thread.name alanını boş bırakın. Google Chat, mesaj dizisini oluştururken bu mesaj dizisini doldurur. İsteğe bağlı olarak, ileti dizisinin adını özelleştirmek için thread.threadKey alanını belirtin.

Bir ileti dizisini yanıtlamak için ileti dizisinin threadKey veya name alanını belirten bir ileti gönderin. İleti dizisi bir kullanıcı veya başka bir Chat uygulaması tarafından oluşturulduysa thread.name alanını kullanmanız gerekir.

Eşleşen bir ileti dizisi bulunamazsa messageReplyOption alanını ayarlayarak iletinin yeni bir ileti dizisi başlatması veya yayınlanamamasını belirtebilirsiniz.

messageReplyOption ayarlanmışsa thread.name veya thread.threadKey değerini de ayarlamanız gerekir.

threadKey alanı nameOfThread olarak tanımlanmış bir ileti dizisini nasıl başlatacağınız veya yanıtlayacağınız aşağıda açıklanmıştır:

Python

  1. Çalışma dizininizde chat_create_message_thread.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_create_message_thread.py bölümüne ekleyin:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Whether to start a thread or reply to an existing one.
        #
        # Required when threading is enabled in a space unless starting a
        # thread.  Ignored in other space types. Threading is enabled when
        # space.spaceThreadingState is THREADED_MESSAGES.
        #
        # REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD replies to an existing thread
        # if one exists, otherwise it starts a new one.
        messageReplyOption='REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD',
    
        # The message body.
        body={
    
            # The message to create.
            'text': 'Start or reply to another message in a thread!',
    
            # The thread to start or reply to.
            'thread': {
                'threadKey': 'nameOfThread'
            }
        }
    
    ).execute()
    
    print(result)
    
  3. Kodda SPACE alanını bir alan adıyla değiştirin. Bu adı, Chat API'deki spaces.list yönteminden veya bir alanın URL'sinden öğrenebilirsiniz.

  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_create_message_thread.py
    

Chat API, gönderilen mesajın ayrıntılarını içeren bir Message örneğini döndürür.

İletiyi adlandırma

Bu bölümde, bir mesaj için özel bir kimlik ayarlayarak mesajı nasıl adlandıracağınız açıklanmaktadır. Mesajları almak, güncellemek veya silmek için özel kimlikleri kullanabilirsiniz. Özel kimlikler, mesajın kaynak adından (name alanında gösterilir) sistem tarafından atanan kimliği depolamanıza gerek kalmadan bir mesaj belirtmenizi sağlar. Kaynak adı, mesajı oluşturduğunuzda yanıt gövdesinde oluşturulur.

Örneğin, get() yöntemini kullanarak bir mesajı almak için kaynak adını kullanarak hangi mesajın alınacağını belirtirsiniz. Kaynak adı spaces/{space}/messages/{message} olarak biçimlendirilir. Burada {message}, sistem tarafından atanan kimliği temsil eder. Mesaja bir ad verdiyseniz {message} değerini özel kimlikle değiştirebilirsiniz.

Bir mesajı adlandırmak için mesajı oluştururken messageId alanına özel bir kimlik girin. messageId alanı, Message kaynağının clientAssignedMessageId alanının değerini ayarlar.

Bir mesajı yalnızca mesajı oluştururken adlandırabilirsiniz. Mevcut mesajlara ait özel bir kimliği adlandıramaz veya değiştiremezsiniz. Özel kimlik aşağıdaki koşulları karşılamalıdır:

  • client- ile başlar. Örneğin client-custom-name geçerli bir özel kimliktir, ancak custom-name geçerli değildir.
  • En fazla 63 karakter ve yalnızca küçük harf, sayı ve kısa çizgi içerebilir.
  • Bir alan içinde benzersiz olmalıdır. Chat uygulamaları farklı mesajlar için aynı özel kimliği kullanamaz.

Özel kimliğe sahip iletileri nasıl göndereceğiniz aşağıda açıklanmıştır:

Python

  1. Çalışma dizininizde chat_create_named_message.py adlı bir dosya oluşturun.
  2. Aşağıdaki kodu chat_create_named_message.py bölümüne ekleyin:

    from apiclient.discovery import build
    from google.oauth2 import service_account
    
    # Specify required scopes.
    SCOPES = ['https://www.googleapis.com/auth/chat.bot']
    
    # Specify service account details.
    CREDENTIALS = service_account.Credentials.from_service_account_file(
        'credentials.json', scopes=SCOPES)
    
    # Build the URI and authenticate with the service account.
    chat = build('chat', 'v1', credentials=CREDENTIALS)
    
    # Create a Chat message with a custom name.
    result = chat.spaces().messages().create(
    
        # The space to create the message in.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # Custom name for the message used to facilitate later operations.
        messageId='client-NAME',
    
        # The message to create.
        body={'text': 'Hello, world!'}
    
    ).execute()
    
    print(result)
    
  3. Bu kodda, aşağıdakini değiştirin:

    • SPACE: Mesajı yayınlamak istediğiniz alanın kimliği. Bu kimliği Chat API'deki spaces.list yönteminden veya alanın URL'sinden öğrenebilirsiniz.
    • NAME: İletinin özel adı.
  4. Çalışma dizininizde örneği derleyin ve çalıştırın:

    python3 chat_create_named_message.py
    

Chat API, bir Message örneği döndürür.

İletinin alt kısmına etkileşimli widget'lar ekleme

İsterseniz aksesuar widget'larıyla iletileri ekleyebilirsiniz. Aksesuar widget'ları, bir iletideki metin veya kartlardan sonra görünür. Bu widget'ları kullanıcılardan mesajınızla etkileşim kurmalarını istemek için kullanabilirsiniz. Örneğin:

  • Bir mesajın doğruluğunu veya memnuniyetini değerlendirin.
  • Mesajla veya Chat uygulamasıyla ilgili bir sorunu bildirin.
  • Dokümanlar gibi ilgili içeriklerin bağlantısını açın.
  • Benzer mesajları Chat uygulamasından belirli bir süre boyunca yoksayabilir veya erteleyebilirsiniz.

Aksesuar widget'ları eklemek için iletiye accessoryWidgets[] nesnesini ekleyin ve eklemek istediğiniz bir veya daha fazla AccessoryWidgets belirtin. Mesajın alandaki herkes tarafından görülebilmesi gerekir (Özel mesajlara aksesuar widget'ları ekleyemezsiniz).

Aşağıdaki resimde, kullanıcıların Chat uygulamasındaki deneyimlerini değerlendirebilmeleri için aksesuar widget'larının bulunduğu bir kısa mesaj ekleyen Chat uygulaması gösterilmektedir.

Örnek aksesuar widget'ları

Aşağıdaki kod örneğinde bu mesajın JSON dosyası gösterilmektedir. Kullanıcı düğmelerden birini tıkladığında, etkileşim puanı işleyen ilgili işlevi (doUpvote gibi) tetikler.


 "text": "Rate your experience with this Chat app.",
 "accessoryWidgets": [
   {
     "buttonList": {
       "buttons": [
         {
           "icon": {
             "material_icon": {
               "name": "thumb_up"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doUpvote",
             }
           }
         },
         {
           "icon": {
             "material_icon": {
               "name": "thumb_down"
             }
           },
           "color": {
             "red": 0,
             "blue": 255,
             "green": 0
           },
           "onClick": {
             "action": {
               "function": "doDownvote",
             }
           }
         }
       ]
     }
   }
 ]

İletileri gizli olarak gönderme

Chat uygulamaları, kısa mesajları ve kart mesajlarını gizli olarak gönderebilir. Böylece mesaj, alandaki yalnızca bir kullanıcıya gösterilir. Bir iletiyi gizli olarak göndermek için iletide privateMessageViewer alanını belirtirsiniz. Yalnızca Chat uygulamaları özel mesaj gönderebilir. Eşzamansız olarak özel mesaj göndermek için uygulama kimlik doğrulamasını kullanmanız gerekir.

Ayrıntılı bilgi için Google Chat kullanıcılarına özel mesaj gönderme başlıklı makaleyi inceleyin.

Sorun giderme

Google Chat uygulaması veya kartı hata döndürdüğünde Chat arayüzünde "Bir sorun oluştu" mesajı gösterilir. veya "İsteğiniz işlenemiyor." Bazı durumlarda Chat kullanıcı arayüzünde herhangi bir hata mesajı gösterilmez ancak Chat uygulaması veya kartı beklenmedik bir sonuç verir. Örneğin, kart mesajı görünmeyebilir.

Chat kullanıcı arayüzünde hata mesajı görüntülenmese de Chat uygulamaları için hata günlük kaydı etkinleştirildiğinde hataları düzeltmenize yardımcı olmak amacıyla açıklayıcı hata mesajları ve günlük verileri sunulur. Hataları görüntüleme, hata ayıklama ve düzeltme konusunda yardım almak için Google Chat hatalarını giderme ve düzeltme başlıklı makaleyi inceleyin.