Google Chat'te kişi toplama ve yönetme

Bu eğitimde, Google Chat kullanıcılarının kişisel ve iş ile ilgili kişilerini yönetmelerine yardımcı olan bir Google Chat uygulamasının nasıl oluşturulacağı gösterilmektedir. Chat uygulaması, bilgi toplamak için kullanıcılardan kart mesajlarındaki ve iletişim kutularındaki iletişim formunu doldurmalarını ister.

Chat uygulamasının nasıl çalıştığını görün:

  • Eğik çizgi komutundan iletişim formu.
    Şekil 1. Chat uygulaması, eğik çizgi komutuna /about bir kısa mesaj ve iletişim formunu açan bir düğmeyle yanıt verir.
  • İletişim formu iletişim kutusunda.
    Şekil 2. Chat uygulaması, kullanıcıların bir kişiyle ilgili bilgi girebileceği bir iletişim kutusu açar.
  • Onay ve inceleme iletişim kutusu.
    Şekil 3. Chat uygulaması, kullanıcıların göndermeden önce bilgileri inceleyip onaylayabilmesi için bir onay iletişim kutusu döndürür.
  • Yeni kişiyi onaylayan bir kısa mesaj.
    Şekil 4. Kullanıcı formu gönderdikten sonra Chat uygulaması, gönderimi onaylamak için özel bir kısa mesaj gönderir.
  • Kart mesajındaki iletişim formu.
    Şekil 5. Chat uygulaması, kullanıcılardan bir mesajdaki karttan kişi eklemelerini de ister.

Ön koşullar

Hedefler

Mimari

Chat uygulaması Google Apps Komut Dosyası'nda oluşturulmuştur ve Chat kullanıcılarını işlemek ve yanıtlamak için etkileşim etkinliklerini kullanır.

Aşağıda, bir kullanıcının Chat uygulamasıyla genellikle nasıl etkileşime geçebileceği gösterilmektedir:

  1. Kullanıcı, Chat uygulamasıyla doğrudan mesaj açar veya Chat uygulamasını mevcut bir alana ekler.

  2. Chat uygulaması, kullanıcıdan bir iletişim formu oluşturup card nesnesi olarak görüntüleyerek kişi eklemesini ister. Chat uygulaması, iletişim formunu sunmak için kullanıcılara aşağıdaki şekillerde yanıt verir:

    • @bahsetmeler ve doğrudan mesajlara, iletişim formunu içeren bir kart mesajıyla yanıt verir.
    • Eğik çizgi komutuna /addContact yanıt olarak iletişim formu içeren bir iletişim kutusu açar.
    • / (eğik çizgi) komutuna, kullanıcıların iletişim formu içeren bir iletişim kutusu açmak için tıklayabilecekleri Kişi ekle düğmesinin bulunduğu bir metin mesajıyla yanıt verir./about
  3. Kullanıcı, iletişim formu gösterildiğinde aşağıdaki alanlara ve widget'lara iletişim bilgilerini girer:

    • Ad ve soyadı: Dize kabul eden bir textInput widget'tır.
    • Doğum tarihi: Yalnızca tarihi kabul eden bir dateTimePicker widget'ı.
    • İletişim türü: Kullanıcıların tek bir dize değeri (Personal veya Work) seçip göndermesine olanak tanıyan selectionInput radyo düğmeleri widget'ı.
    • İncele ve gönder düğmesi: Kullanıcının girdiği değerleri göndermek için tıkladığı button widget'ı içeren bir buttonList dizisi.
  4. Google Chat uygulaması, kullanıcının girdiği değerleri işlemek için bir CARD_CLICKED etkileşim etkinliği işler ve değerleri bir onay kartında gösterir.

  5. Kullanıcı, onay kartını inceler ve iletişim bilgilerini kesinleştirmek için Gönder düğmesini tıklar.

  6. Google Chat uygulaması, gönderimi onaylayan özel bir kısa mesaj gönderir.

Ortamı hazırlama

Bu bölümde, Chat uygulaması için Google Cloud projesinin nasıl oluşturulacağı ve yapılandırılacağı gösterilmektedir.

Google Cloud projesi oluşturma

Google Cloud konsolu

  1. Google Cloud Console'da Menü > IAM ve Yönetici > Proje Oluştur'a gidin.

    Proje Oluştur'a gidin

  2. Proje Adı alanına projeniz için açıklayıcı bir ad girin.

    İsteğe bağlı: Proje kimliğini düzenlemek için Düzenle'yi tıklayın. Proje oluşturulduktan sonra proje kimliği değiştirilemez. Bu nedenle, projenin kullanım süresi boyunca ihtiyaçlarınızı karşılayacak bir kimlik seçin.

  3. Projeniz için olası konumları görüntülemek üzere Konum alanında Göz at'ı tıklayın. Ardından Seç'i tıklayın.
  4. Oluştur'u tıklayın. Google Cloud Console, Kontrol Paneli sayfasına gider ve projeniz birkaç dakika içinde oluşturulur.

gcloud CLI

Aşağıdaki geliştirme ortamlarından birinde Google Cloud CLI'ye (gcloud) erişin:

  • Cloud Shell: gcloud CLI'si önceden ayarlanmış bir internet terminali kullanmak için Cloud Shell'i etkinleştirin.
    Cloud Shell'i etkinleştirme
  • Yerel Kabuk: Yerel bir geliştirme ortamı kullanmak için gcloud CLI'yi yükleyin ve başlatın.
    Cloud projesi oluşturmak için gcloud projects create komutunu kullanın:
    gcloud projects create PROJECT_ID
    Oluşturmak istediğiniz projenin kimliğini ayarlayarak PROJECT_ID değerini değiştirin.

Kimlik doğrulama ve yetkilendirme ayarlarını yapma

Google Chat uygulamaları, kullanıcıların Google Chat dahil olmak üzere Google Workspace uygulamalarında uygulamanızı yetkilendirebilmesi için bir OAuth kullanıcı rızası ekranı yapılandırmanızı gerektirir.

Bu eğitimde, yalnızca test ve dahili kullanım için bir Chat uygulaması dağıtırsınız. Bu nedenle, izin ekranı için yer tutucu bilgileri kullanabilirsiniz. Chat uygulamasını yayınlamadan önce yer tutucu bilgilerini gerçek bilgilerle değiştirin.

  1. Google Cloud Console'da Menü > > Markalaşma'ya gidin.

    Markalama'ya gidin

  2. 'ü daha önce yapılandırdıysanız Marka, Kitle ve Veri Erişimi'nde aşağıdaki OAuth izin ekranı ayarlarını yapılandırabilirsiniz. Henüz yapılandırılmadı yazan bir mesaj görürseniz Başlayın'ı tıklayın:

    1. Uygulama Bilgileri bölümündeki Uygulama adı alanına Contact Manager yazın.
    2. Kullanıcı desteği e-postası bölümünde e-posta adresinizi veya uygun bir Google grubunu seçin.
    3. İleri'yi tıklayın.
    4. Kitle bölümünde Dahili'yi seçin. Dahili'yi seçemiyorsanız Harici'yi seçin.
    5. İleri'yi tıklayın.
    6. İletişim bilgileri bölümünde, projenizde yapılan değişikliklerle ilgili bildirim alabileceğiniz bir e-posta adresi girin.
    7. İleri'yi tıklayın.
    8. Son bölümünde Google API Hizmetleri Kullanıcı Verileri Politikası'nı inceleyin ve kabul ediyorsanız Google API Hizmetleri: Kullanıcı Verileri Politikası'nı kabul ediyorum'u seçin.
    9. Devam'ı tıklayın.
    10. Oluştur'u tıklayın.
    11. Kullanıcı türü için Harici'yi seçtiyseniz test kullanıcıları ekleyin:
      1. Kitle'yi tıklayın.
      2. Test kullanıcıları bölümünde Kullanıcı ekle'yi tıklayın.
      3. E-posta adresinizi ve diğer yetkili test kullanıcılarını girip Kaydet'i tıklayın.

Chat uygulamasını oluşturma ve dağıtma

Aşağıdaki bölümde, Chat uygulamanız için gerekli tüm uygulama kodunu içeren bir Apps Script projesinin tamamını kopyalayıp güncellediğiniz için her dosyayı kopyalayıp yapıştırmanız gerekmez.

İsterseniz projenin tamamını GitHub'da görüntüleyebilirsiniz.

GitHub'da göster

Her dosyaya genel bakış aşağıda verilmiştir:

main.gs

Kullanıcıların Chat uygulamasına mesaj göndermesi, Chat uygulaması mesajındaki düğmeleri tıklaması veya iletişim kutularını açıp kapatmasıyla ilgili etkileşim etkinlikleri de dahil olmak üzere tüm uygulama mantığını yönetir.

main.gs kodunu görüntüleme

apps-script/contact-form-app/main.gs
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * Responds to a MESSAGE interaction event in Google Chat.
 *
 * @param {Object} event the MESSAGE interaction event from Chat API.
 * @return {Object} message response that opens a dialog or sends private
 *                          message with text and card.
 */
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 1:
        // If the slash command is "/about", responds with a text message and button
        // that opens a dialog.
        return {
          text: "Manage your personal and business contacts 📇. To add a " +
                  "contact, use the slash command `/addContact`.",
          accessoryWidgets: [{
            buttonList: { buttons: [{
              text: "Add Contact",
              onClick: { action: {
                function: "openInitialDialog",
                interaction: "OPEN_DIALOG"
              }}
            }]}
          }]
        }
      case 2:
        // If the slash command is "/addContact", opens a dialog.
        return openInitialDialog();
    }
  }

  // If user sends the Chat app a message without a slash command, the app responds
  // privately with a text and card to add a contact.
  return {
    privateMessageViewer: event.user,
    text: "To add a contact, try `/addContact` or complete the form below:",
    cardsV2: [{
      cardId: "addContactForm",
      card: {
        header: { title: "Add a contact" },
        sections:[{ widgets: CONTACT_FORM_WIDGETS.concat([{
          buttonList: { buttons: [{
            text: "Review and submit",
            onClick: { action: { function : "openConfirmation" }}
          }]}
        }])}]
      }
    }]
  };
}

/**
 * Responds to CARD_CLICKED interaction events in Google Chat.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @return {Object} message responses specific to the dialog handling.
 */
function onCardClick(event) {
  // Initial dialog form page
  if (event.common.invokedFunction === "openInitialDialog") {
    return openInitialDialog();
  // Confirmation dialog form page
  } else if (event.common.invokedFunction === "openConfirmation") {
    return openConfirmation(event);
  // Submission dialog form page
  } else if (event.common.invokedFunction === "submitForm") {
    return submitForm(event);
  }
}

/**
 * Opens the initial step of the dialog that lets users add contact details.
 *
 * @return {Object} a message with an action response to open a dialog.
 */
function openInitialDialog() {
  return { actionResponse: {
    type: "DIALOG",
    dialogAction: { dialog: { body: { sections: [{
      header: "Add new contact",
      widgets: CONTACT_FORM_WIDGETS.concat([{
        buttonList: { buttons: [{
          text: "Review and submit",
          onClick: { action: { function: "openConfirmation" }}
        }]}
      }])
    }]}}}
  }};
}

/**
 * Returns the second step as a dialog or card message that lets users confirm details.
 *
 * @param {Object} event the interactive event with form inputs.
 * @return {Object} returns a dialog or private card message.
 */
function openConfirmation(event) {
  const name = fetchFormValue(event, "contactName") ?? "";
  const birthdate = fetchFormValue(event, "contactBirthdate") ?? "";
  const type = fetchFormValue(event, "contactType") ?? "";
  const cardConfirmation = {
    header: "Your contact",
    widgets: [{
      textParagraph: { text: "Confirm contact information and submit:" }}, {
      textParagraph: { text: "<b>Name:</b> " + name }}, {
      textParagraph: {
        text: "<b>Birthday:</b> " + convertMillisToDateString(birthdate)
      }}, {
      textParagraph: { text: "<b>Type:</b> " + type }}, {
      buttonList: { buttons: [{
        text: "Submit",
        onClick: { action: {
          function: "submitForm",
          parameters: [{
            key: "contactName", value: name }, {
            key: "contactBirthdate", value: birthdate }, {
            key: "contactType", value: type
          }]
        }}
      }]}
    }]
  };

  // Returns a dialog with contact information that the user input.
  if (event.isDialogEvent) {
    return { action_response: {
      type: "DIALOG",
      dialogAction: { dialog: { body: { sections: [ cardConfirmation ]}}}
    }};
  }

  // Updates existing card message with contact information that the user input.
  return {
    actionResponse: { type: "UPDATE_MESSAGE" },
    privateMessageViewer: event.user,
    cardsV2: [{
      card: { sections: [cardConfirmation]}
    }]
  }
}

/**
  * Validates and submits information from a dialog or card message
  * and notifies status.
  *
  * @param {Object} event the interactive event with parameters.
  * @return {Object} a message response that opens a dialog or posts a private
  *                  message.
  */
function submitForm(event) {
  const contactName = event.common.parameters["contactName"];
  // Checks to make sure the user entered a contact name.
  // If no name value detected, returns an error message.
  if (!contactName) {
    const errorMessage = "Don't forget to name your new contact!";
    if (event.dialogEventType === "SUBMIT_DIALOG") {
      return { actionResponse: {
        type: "DIALOG",
        dialogAction: { actionStatus: {
          statusCode: "INVALID_ARGUMENT",
          userFacingMessage: errorMessage
        }}
      }};
    } else {
      return {
        privateMessageViewer: event.user,
        text: errorMessage
      };
    }
  }

  // The Chat app indicates that it received form data from the dialog or card.
  // Sends private text message that confirms submission.
  const confirmationMessage = "✅ " + contactName + " has been added to your contacts.";
  if (event.dialogEventType === "SUBMIT_DIALOG") {
    return {
      actionResponse: {
        type: "DIALOG",
        dialogAction: { actionStatus: {
          statusCode: "OK",
          userFacingMessage: "Success " + contactName
        }}
      }
    }
  } else {
    return {
      actionResponse: { type: "NEW_MESSAGE" },
      privateMessageViewer: event.user,
      text: confirmationMessage
    };
  }
}

/**
 * Extracts form input value for a given widget.
 *
 * @param {Object} event the CARD_CLICKED interaction event from Google Chat.
 * @param {String} widgetName a unique ID for the widget, specified in the widget's name field.
 * @returns the value inputted by the user, null if no value can be found.
 */
function fetchFormValue(event, widgetName) {
  const formItem = event.common.formInputs[widgetName][""];
  // For widgets that receive StringInputs data, the value input by the user.
  if (formItem.hasOwnProperty("stringInputs")) {
    const stringInput = event.common.formInputs[widgetName][""].stringInputs.value[0];
    if (stringInput != null) {
      return stringInput;
    }
  // For widgets that receive dateInput data, the value input by the user.
  } else if (formItem.hasOwnProperty("dateInput")) {
    const dateInput = event.common.formInputs[widgetName][""].dateInput.msSinceEpoch;
     if (dateInput != null) {
       return dateInput;
     }
  }

  return null;
}

/**
 * Converts date in milliseconds since epoch to user-friendly string.
 *
 * @param {Object} millis the milliseconds since epoch time.
 * @return {string} Display-friend date (English US).
 */
function convertMillisToDateString(millis) {
  const date = new Date(millis);
  const options = { year: 'numeric', month: 'long', day: 'numeric' };
  return date.toLocaleDateString('en-US', options);
}
contactForm.gs

Kullanıcılardan form verileri alan widget'ları içerir. Bu form giriş widget'ları, mesajlarda ve iletişim kutularında görünen kartlarda gösterilir.

contactForm.gs kodunu görüntüleme

apps-script/contact-form-app/contactForm.gs
/**
 * Copyright 2024 Google Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * The section of the contact card that contains the form input widgets. Used in a dialog and card message.
 * To add and preview widgets, use the Card Builder: https://addons.gsuite.google.com/uikit/builder
 */
const CONTACT_FORM_WIDGETS = [
  {
    "textInput": {
      "name": "contactName",
      "label": "First and last name",
      "type": "SINGLE_LINE"
    }
  },
  {
    "dateTimePicker": {
      "name": "contactBirthdate",
      "label": "Birthdate",
      "type": "DATE_ONLY"
    }
  },
  {
    "selectionInput": {
      "name": "contactType",
      "label": "Contact type",
      "type": "RADIO_BUTTON",
      "items": [
        {
          "text": "Work",
          "value": "Work",
          "selected": false
        },
        {
          "text": "Personal",
          "value": "Personal",
          "selected": false
        }
      ]
    }
  }
];
appsscript.json

Chat uygulaması için Apps Komut Dosyası projesini tanımlayan ve yapılandıran Apps Komut Dosyası manifesti.

appsscript.json kodunu görüntüleme

apps-script/contact-form-app/appsscript.json
{
  "timeZone": "America/Los_Angeles",
  "dependencies": {},
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8",
  "chat": {}
}

Cloud proje numaranızı ve kimliğinizi bulma

  1. Google Cloud Console'da Cloud projenize gidin.

    Google Cloud Console'a gidin

  2. Ayarlar ve Yardımcı Programlar > Proje ayarları'nı tıklayın.

  3. Proje numarası ve Proje kimliği alanlarındaki değerleri not edin. Bu bilgileri aşağıdaki bölümlerde kullanacaksınız.

Apps Komut Dosyası projesini oluşturma

Apps Komut Dosyası projesi oluşturmak ve bunu Cloud projenize bağlamak için:

  1. Google Chat'te kişileri yönetme Apps Komut Dosyası projesini açmak için aşağıdaki düğmeyi tıklayın.
    Projeyi açma
  2. Genel Bakış'ı tıklayın.
  3. Genel bakış sayfasında Kopya oluşturma simgesi Kopya oluştur'u tıklayın.
  4. Apps Komut Dosyası projesinin kopyanıza bir ad verin:

    1. Google Chat'te kişileri yönetme kopyası'nı tıklayın.

    2. Proje başlığı alanına Contact Manager - Google Chat app yazın.

    3. Yeniden adlandır'ı tıklayın.

Apps Komut Dosyası projesinin Cloud projesini ayarlama

  1. Apps Komut Dosyası projenizde Proje ayarlarının simgesi Proje Ayarları'nı tıklayın.
  2. Google Cloud Platform (GCP) Projesi bölümünde Projeyi değiştir'i tıklayın.
  3. GCP proje numarası alanına Cloud projenizin proje numarasını yapıştırın.
  4. Proje ayarla'yı tıklayın. Cloud projesi ve Apps Komut Dosyası projesi artık bağlıdır.

Apps Komut Dosyası dağıtımı oluşturma

Tüm kod eklendiğinden Apps Komut Dosyası projesini dağıtın. Dağıtım kimliğini, Google Cloud'da Chat uygulamasını yapılandırırken kullanırsınız.

  1. Apps Komut Dosyası'nda Chat uygulamasının projesini açın.

    Apps Komut Dosyası'na gidin

  2. Dağıt > Yeni dağıtım'ı tıklayın.

  3. Eklenti henüz seçilmemişse Türü seç'in yanındaki dağıtım türlerini Proje ayarlarının simgesi tıklayın ve Eklenti'yi seçin.

  4. Açıklama alanına bu sürüm için bir açıklama girin (ör. Test of Contact Manager).

  5. Dağıt'ı tıklayın. Apps Komut Dosyası, başarılı dağıtımı bildirir ve bir dağıtım kimliği sağlar.

  6. Dağıtım kimliğini kopyalamak için Kopyala'yı ve ardından Bitti'yi tıklayın.

Google Cloud Console'da Chat uygulamasını yapılandırma

Bu bölümde, Google Cloud Console'da Google Chat API'nin, Apps Script projenizden yeni oluşturduğunuz dağıtımın kimliği de dahil olmak üzere Chat uygulamanızla ilgili bilgilerle nasıl yapılandırılacağı gösterilmektedir.

  1. Google Cloud Console'da Menü > Diğer ürünler > Google Workspace > Ürün Kitaplığı > Google Chat API > Yönet > Yapılandırma'yı tıklayın.

    Chat API yapılandırmasına gidin

  2. Uygulama adı alanına Contact Manager yazın.

  3. Avatar URL'si alanına https://developers.google.com/chat/images/contact-icon.png yazın.

  4. Açıklama alanına Manage your personal and business contacts yazın.

  5. Etkileşimli özellikleri etkinleştir açma/kapatma düğmesini açık konuma getirin.

  6. İşlevsellik bölümünde 1:1 mesaj alma ve Alanlara ve grup görüşmelerine katılma onay kutularını işaretleyin.

  7. Bağlantı ayarları bölümünde Apps Komut Dosyası'nı seçin.

  8. Dağıtım Kimliği alanına, Apps Komut Dosyası dağıtımını oluştururken önceki bölümde kopyaladığınız Apps Komut Dosyası dağıtım kimliğini yapıştırın.

  9. Eğik çizgi komutları bölümünde /about ve /addContact eğik çizgi komutlarını ayarlayın:

    1. İlk eğik çizgi komutunu ayarlamak için Eğik çizgi komutu ekle'yi tıklayın.
    2. Ad alanına /about yazın.
    3. Komut kimliği alanına 1 yazın.
    4. Açıklama alanına Learn how to use this Chat app to manage your contacts yazın.
    5. İletişim kutusu açar'ı seçin.
    6. Bitti'yi tıklayın.
    7. Başka bir eğik çizgi komutu oluşturmak için Eğik çizgi komutu ekle'yi tıklayın.
    8. Ad alanına /addContact yazın.
    9. Komut kimliği alanına 2 yazın.
    10. Açıklama alanına Submit information about a contact yazın.
    11. İletişim kutusu açar'ı seçin.
    12. Bitti'yi tıklayın.
  10. Görünürlük bölümünde, YOUR DOMAIN'deki belirli kişiler ve gruplar için bu Chat uygulamasını kullanılabilir hale getir onay kutusunu işaretleyin ve e-posta adresinizi girin.

  11. Günlükler bölümünde Günlüğe hata kaydet'i seçin.

  12. Kaydet'i tıklayın. Yapılandırma kaydedildi mesajı gösterilir.

Chat uygulaması, Chat'te yüklenip test edilmeye hazırdır.

Chat uygulamasını test etme

Chat uygulamanızı test etmek için Chat uygulamasıyla bir doğrudan mesaj alanı açın ve mesaj gönderin:

  1. Kendinizi güvenilir test kullanıcısı olarak eklerken sağladığınız Google Workspace hesabını kullanarak Google Chat'i açın.

    Google Chat'e gidin

  2. Yeni sohbet'i tıklayın.
  3. 1 veya daha fazla kullanıcı ekle alanına Chat uygulamanızın adını yazın.
  4. Sonuçlardan Chat uygulamanızı seçin. Doğrudan mesaj açılır.

  1. Chat uygulamasıyla yeni doğrudan mesajda /addContact yazın ve Enter tuşuna basın.

  2. Açılan iletişim kutusuna iletişim bilgilerini girin:

    1. Ad ve soyadı metin alanına bir ad girin.
    2. Doğum tarihi tarih seçicide bir tarih seçin.
    3. İletişim türü bölümünde İş veya Kişisel radyo düğmesini seçin.
  3. İncele ve gönder'i tıklayın.

  4. Onay iletişim kutusunda gönderdiğiniz bilgileri inceleyin ve Gönder'i tıklayın. Chat uygulaması, CONTACT NAME has been added to your contacts. yazan bir metin mesajıyla yanıt verir.

  5. İsterseniz iletişim formunu aşağıdaki yöntemlerle de test edip gönderebilirsiniz:

    • /about eğik çizgi komutunu kullanın. Sohbet uygulaması, bir metin mesajı ve Add a contact yazan bir aksesuar widget düğmesiyle yanıt verir. İletişim formu içeren bir iletişim kutusunu açmak için düğmeyi tıklayabilirsiniz.
    • Chat uygulamasına eğik çizgi komutu (ör. Hello) olmadan doğrudan mesaj gönderin. Chat uygulaması, iletişim formunu içeren bir metin ve kartla yanıt verir.

Temizleme

Bu eğiticide kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız Cloud projesini silmenizi öneririz.

  1. Google Cloud Console'da Kaynakları yönetin sayfasına gidin. Menü > IAM ve Yönetici > Kaynakları Yönet'i tıklayın.

    Resource Manager'a gidin

  2. Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil'i tıklayın.
  3. Projeyi silmek için iletişim kutusuna proje kimliğini yazın ve ardından Kapat'ı tıklayın.