Actions Builder'ı kullanarak Google Asistan için işlemler oluşturma (1. Seviye)

1. Genel bakış

Google Asistan geliştirici platformu; akıllı hoparlörler, telefonlar, arabalar, TV'ler, kulaklıklar gibi 1 milyardan fazla cihazda sanal kişisel asistan olan Google Asistan'ın işlevlerini genişletebileceğiniz yazılımlar oluşturmanıza olanak tanır. Kullanıcılar, market alışverişi veya yolculuk rezervasyonu gibi işlemler için Asistan'la etkileşimde bulunur. Geliştirici olarak, kullanıcılar ile kendi üçüncü taraf karşılama hizmetiniz arasında keyifli ve etkili konuşma deneyimleri oluşturmak ve bunları yönetmek için Asistan geliştirici platformunu kullanabilirsiniz.

Bu codelab'de, Google Asistan ile geliştirme için başlangıç düzeyindeki kavramlar ele alınmaktadır. Tamamlamak için platformla ilgili herhangi bir deneyime ihtiyacınız yoktur. Bu codelab'de, Google Asistan için basit bir Aksiyon oyunu oluşturacaksınız. Action Builder'ın 2. seviye codelab'inde, kullanıcının kazancını girişlerine göre özelleştirmek için bu Action'ı daha ayrıntılı şekilde oluşturuyorsunuz.

Derlemeniz istenen nedir?

Bu codelab'de aşağıdaki işlevlerle basit bir İşlem oluşturacaksınız:

  • Kullanıcılara bir karşılama mesajıyla yanıt verir
  • Kullanıcılara bir soru sorar. Kullanıcı cevap verdiğinde İşleminiz kullanıcının seçimine uygun şekilde yanıt veriyor
  • Kullanıcıların giriş yapmak için tıklayabileceği öneri çipleri sağlar
  • Kullanıcıya karşılama mesajını, geri gelen kullanıcı olup olmadıklarına göre değiştirir

Bu codelab'i tamamladığınızda tamamlanan İşleminiz aşağıdaki sohbet akışını içerecek:

1c1e79902bed7230.png

18ef55647b4cb52c.png

Neler öğreneceksiniz?

  • Actions konsolunda proje oluşturma
  • İşleminizi çağırdıktan sonra kullanıcıya istem gönderme
  • Kullanıcının girişi nasıl işlenir ve nasıl yanıt döndürülür?
  • Actions simülatöründe işleminizi test etme
  • Cloud Functions düzenleyicisini kullanarak karşılamayı uygulama

Gerekenler

Aşağıdaki araçlar kendi ortamınızda olmalıdır:

2. Kur

Aşağıdaki bölümlerde, geliştirme ortamınızın nasıl oluşturulacağı ve Actions projenizi nasıl oluşturacağınız açıklanmaktadır.

Google izin ayarlarınızı kontrol etme

Bu codelab'de oluşturduğunuz İşlemi test etmek için simülatörün İşleminize erişebilmesi amacıyla gerekli izinleri etkinleştirmeniz gerekir. İzinleri etkinleştirmek için şu adımları uygulayın:

  1. Etkinlik kontrolleri sayfasına gidin.
  2. Henüz oturum açmadıysanız Google Hesabınızla oturum açın.
  3. Aşağıdaki izinleri etkinleştirin:
  • Web ve Uygulama Etkinliği
  • Web ve Uygulama Etkinliği bölümünde, Chrome hizmetlerini ve Google hizmetlerini kullanan site, uygulama ve cihazlardaki etkinlikleri ekle onay kutusunu seçin.

Actions projesi oluşturma

Actions projeniz, İşleminiz için bir kapsayıcıdır. Bu codelab'e yönelik Actions projenizi oluşturmak için şu adımları uygulayın:

  1. İşlemler konsolunu açın.
  2. Yeni proje'yi tıklayın.
  3. Proje adı (ör. actions-codelab) yazın. (Ad, dahili referansınız içindir. Daha sonra, projeniz için harici bir ad belirleyebilirsiniz.)

8cd05a84c1c0a32f.png

  1. Proje oluştur'u tıklayın.
  2. Ne tür bir işlem oluşturmak istiyorsunuz? ekranında, Özel kartını seçin.
  3. İleri'yi tıklayın.
  4. Boş proje kartını seçin.
  5. Derlemeye başla'yı tıklayın.

Faturalandırma hesabı ilişkilendirin

İsteklerinizi Cloud Functions'ı kullanarak bu codelab'de daha sonra dağıtmak için Google Cloud'daki projenizle faturalandırma hesabı ilişkilendirmeniz gerekir.

Projenizle henüz bir faturalandırma hesabı ilişkilendirmediyseniz aşağıdaki adımları uygulayın:

  1. Google Cloud Platform faturalandırma sayfasına gidin.
  2. Faturalandırma hesabı ekle veya Hesap oluştur'u tıklayın.
  3. Ödeme bilgilerinizi girin.
  4. Ücretsiz denememi başlat veya Gönder ve faturalandırmayı etkinleştir'i tıklayın.
  5. Google Cloud Platform faturalandırma sayfasına gidin.
  6. Projelerim sekmesini tıklayın.
  7. Codelab'in İşlemler projesinin yanındaki İşlemler bölümünde yer alan üç noktayı tıklayın.
  8. Faturalandırmayı değiştir'i tıklayın.
  9. Açılır menüde, yapılandırdığınız faturalandırma hesabını seçin. Hesap belirle'yi tıklayın.

Ücret alınmasını önlemek için bu codelab'in sonundaki Projenizi temizleme bölümündeki adımları uygulayın.

3. Görüşme başlatın

Kullanıcılar, işleminizle çağrı üzerinden görüşme başlatır. Örneğin, FilmTime adlı bir İşleminiz varsa kullanıcılar, Okunan Film, TalkTime ile konuş gibi bir ifade kullanarak Action'ınızı çağırabilir. Burada MovieTime görünen addır. İşleminiz üretime dağıtmak istiyorsanız İşleminizin görünen adı olmalıdır, ancak İşleminizi test etmek için görünen adı tanımlamanız gerekmez. Bunun yerine, İşleminizi çağırmak için simülatördeki "Test uygulamamla konuş" ifadesini kullanabilirsiniz.

Bir kullanıcı İşleminizi çağırdıktan sonra ne olacağını tanımlamak için ana çağrıyı düzenlemeniz gerekir.

Varsayılan olarak, Actions Builder çağrınız tetiklendiğinde genel bir istem sağlar (&quotAna çağrıyı tanımlayarak İşleminizi başlatmaya başlayın.)

Sonraki bölümde, İşlemler konsolunda ana çağrınızın istemini özelleştirirsiniz.

Ana çağrıyı ayarlayın

İşleminizin çağırıldığında kullanıcıya geri gönderdiği istemi değiştirmek için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Ana çağrı'yı tıklayın.

966d037e1d7914df.png

  1. Kod düzenleyicide, speech alanındaki (Start building your action...) metni aşağıdaki karşılama mesajıyla değiştirin: A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
  1. Kaydet'i tıklayın.

Simülasyon aracındaki ana çağrıyı test edin

İşlemler konsolu, simülatör adı verilen işleminizi test etmek için bir web aracı sağlar. Arayüz, donanım cihazlarını ve ayarlarını simüle eder. Böylece İşleminiz Akıllı Ekran, telefon, hoparlör veya KaiOS'ta çalışıyormuş gibi konuşabilirsiniz.

İşleminizi çağırdığınızda action'ın artık eklediğiniz özelleştirilmiş istemle ("A wondrous greeting, adventurer!...") yanıt vermesi gerekir

İşlem Simülatörünüzün ana çağrısını simülatörde test etmek için aşağıdaki adımları uygulayın:

  1. Simülatöre gitmek için üst gezinme çubuğunda Test et'i tıklayın.
  2. Simülasyon aracında İşleminizi başlatmak için Giriş alanına Talk to my test app yazıp Enter tuşuna basın.

656f5736af6a5a07.png

İşleminizin ana davetini tetiklediğinizde Asistan özelleştirilmiş karşılama mesajınızla yanıt verir. Bu noktada, Asistan bir karşılama mesajıyla yanıt verdikten sonra görüşme sona erer. Sonraki bölümde, görüşmenin devam etmesi için İşleminizi değiştireceksiniz.

Olay günlüklerini göster

Test etme sekmesindeyken sağdaki panel, görüşme geçmişini etkinlik günlükleri olarak görüntüleyen etkinlik günlüklerini gösterir. Her etkinlik günlüğü, görüşmenin bu dönüşünde gerçekleşen etkinlikleri görüntüler.

Action'ınızda şu anda hem kullanıcının girişini ("Talk to my test app") hem de Action'ınızın yanıtını gösteren bir etkinlik günlüğü var. Aşağıdaki ekran görüntüsünde Action'larınızın olay günlüğü gösteriliyor:

443129bdcbecc593.png

Olay günlüğündeki aşağı oku tıkladığınızda, görüşmenin bu sırasında gerçekleşen etkinlikleri kronolojik olarak düzenlenmiş şekilde görebilirsiniz:

  • userInput: Kullanıcının girişine ("Talk to my test app") karşılık gelir.
  • interactionMatch: Kullanıcının girişi tarafından tetiklenen İşleminizin ana çağrı yanıtına karşılık gelir. Oku tıklayarak bu satırı genişletirseniz ana çağrı için eklediğiniz istemi (A wondrous greeting, adventurer!...) görebilirsiniz
  • endConversation: Main invocation niyetiyle seçilen geçişe karşılık gelir ve şu anda görüşmeyi sonlandırır. (Geçişler hakkında daha fazla bilgiyi bu codelab'in sonraki bölümünde bulabilirsiniz.)

Olay günlükleri, İşleminizin nasıl çalıştığıyla ilgili görünürlük sağlar ve herhangi bir sorunla karşılaşırsanız İşleminizde hata ayıklamak için kullanışlı araçlardır. Bir etkinliğin ayrıntılarını görmek için aşağıdaki ekran görüntüsünde gösterilen etkinlik adının yanındaki oku tıklayın:

fcc389b59af5bef1.png

4. Action'ın görüşmenizi oluşturma

Bir kullanıcı İşleminizi başlattıktan sonra neler olduğunu öğrendiğinize göre İşleminizin geri kalan bölümünü oluşturabilirsiniz. Bu codelab'e devam etmeden önce İşleminizin ileti dizisinin nasıl çalıştığını anlamak için aşağıdaki terimler hakkında bilgi edinin:

İşleminizin bir veya daha fazla sahnesi olabilir ve çalıştırılmadan önce her sahneyi etkinleştirmeniz gerekir. (Bu codelab'de oluşturduğunuz İşlemin yalnızca Start başlıklı bir sahnesi var.) Bir sahneyi etkinleştirmenin en yaygın yolu, İşleminizi yapılandırmaktır. Böylece, kullanıcı bir sahnedeki kullanıcı niyetiyle eşleştiğinde bu amaç başka bir sahneye geçişi tetikler ve etkinleştirir.

Örneğin, kullanıcıya hayvan hakkında bilgi veren bir varsayımsal işlem düşünün. Kullanıcı bu İşlemi çağırdığında Main invocation amacı eşleştirilir ve Facts adlı sahneye geçişi tetikler. Bu geçiş, kullanıcıya şu istemi gönderen Facts sahnesini etkinleştirir: Would you like to hear a fact about cats or dogs? Facts sahnesinde, kullanıcının "Kedi gerçeği dinlemek istiyorum" veya kedi öyküsü gibi bir kedi gerçeği dinlemek için söyleyebileceği eğitim ifadeleri içeren Cat adlı bir kullanıcı amacı vardır. Kullanıcı bir kedi gerçeği duymak istediğinde Cat amacı eşleştirilir ve Cat fact adlı sahneye geçişi tetikler. Cat fact sahnesi etkinleştirilir ve kullanıcıya kedi değeri içeren bir istem gönderir.

a78f549c90c3bff6.png

1. Şekil. Actions Builder ile oluşturulmuş bir Aksiyondaki konuşmaların normal akışı

Sahneler, niyetler ve geçişler birlikte, görüşmenizin mantığını oluşturur ve kullanıcınızın Action'lar görüşmenizde ilerleyebileceği çeşitli yolları tanımlar. Aşağıdaki bölümde bir sahne oluşturur ve kullanıcı İşleminizi çağırdıktan sonra bu sahnenin nasıl etkinleştirileceğini tanımlarsınız.

Ana çağrıdan sahneye geçiş

Bu bölümde Start adlı yeni bir sahne oluşturacaksınız. Bu sahnede, kullanıcıya kavşağın anlatılmasını isteyip istemediği sorulacak. Ayrıca, ana çağrıdan yeni Start sahnesine bir geçiş de eklersiniz.

Bu sahneyi oluşturmak ve ona geçiş eklemek için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Yan gezinme çubuğunda Ana çağrı'yı tıklayın.
  3. Geçiş bölümünde, açılır menüyü tıklayın ve metin alanına Start yazın.

29e12dff950a3bce.png

  1. Ekle'yi tıklayın. Bu işlem, Start adlı bir sahne oluşturur ve İşlem, kullanıcıya karşılama istemi gönderdikten sonra İşlemin Start sahnesine geçmesini bildirir.
  2. Sahnelerin listesini görmek için yan gezinme çubuğunda Sahneler'i tıklayın.
  3. Sahneler bölümünde, Start sahnesini görmek için Başlat'ı tıklayın.
  4. Start sahnesinin Enter in bölümünde + simgesini tıklayın.
  5. İstemleri gönder'i seçin.
  6. speech alanındaki (Enter the response that users will see or hear...) cümleyi, kullanıcıya soracağı bir soruyla değiştirin: Before you continue on your quest, would you like your fortune told?

3fc95466efd476f.png

  1. Kaydet'i tıklayın.

Google Asistan, kullanıcıya Start sahnesine girdiğinde bu istemi (Before you continue on your quest...) sağlar.

Öneri çipleri ekle

Öneri çipleri, kullanıcı için İşleminizin kullanıcı girişi olarak işlediği tıklanabilir öneriler sunar. Bu bölümde, ekranlı cihazlardaki kullanıcıları desteklemek için öneri çipleri eklersiniz.

Start sahnesine, öneri çipleri eklemek için şu adımları uygulayın:

  1. Start görünümünde öneriler'i tıklayın. Bu işlemle tek bir öneri çipi eklenir.
  2. title alanında Suggested Response yerine 'Yes' yazın.
  3. Aynı biçimlendirmeyi kullanarak 'No' başlıklı bir öneri çipini manuel olarak ekleyin. Kodunuz şu snippet'e benzemelidir:
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. Kaydet'i tıklayın.

2d13c2ada791ec26.png

İşleminizi simülasyon aracında test edin

Bu noktada İşleminiz, ana çağrıdan Start sahnesine geçmeli ve kullanıcıya kaderini anlatmasını isteyip istemediğini sormalıdır. Öneri çipleri, simüle edilmiş ekranda da gösterilir.

İşleminizi simülatörde test etmek için aşağıdaki adımları uygulayın:

  1. Simülatöre gitmek için gezinme çubuğunda Test et'i tıklayın.
  2. Simülasyon aracını kullanarak yaptığınız işlemi test etmek için Giriş alanına Talk to my test app yazıp Enter tuşuna basın. İşleminiz, Main invocation istemi ve eklenen Start sahne istemi ("Before you continue on your quest, would you like your fortune told?") ile yanıt vermelidir.

Aşağıdaki ekran görüntüsünde bu etkileşim gösterilmiştir:

3c2013ebb2da886a.png

  1. İsteme yanıt vermek için Yes veya No öneri çipini tıklayın. (Ayrıca Evet veya Hayır diyebilirsiniz ya da Giriş alanına Yes veya No girebilirsiniz.)

İsteme yanıt verdiğinizde İşleminiz, girişinizi anlayamadığına dair bir iletiyle yanıt verir: Maalesef yanıt alamadım. Tekrar deneyebilir misiniz? İşleminizi "Evet" veya "Hayır" anlayacak ve yanıtlayacak şekilde henüz yapılandırmadığınız için İşleminiz, girişinizi NO_MATCH amacı ile eşleştirir.

Varsayılan olarak, NO_MATCH sistem amacı genel yanıtlar sağlar, ancak bu yanıtları kullanıcıya girişini anlamadığınızı belirtecek şekilde özelleştirebilirsiniz. Asistan, kullanıcının girişiyle üç kez etkileşimde bulunduktan sonra kullanıcının İşleminiz ile yaptığı görüşmeyi sonlandırır.

yes ve no niyeti ekle

Kullanıcılar İşleminizin sorduğu soruya yanıt verebileceğine göre, İşleminizi kullanıcıların yanıtlarını anlayacak şekilde yapılandırabilirsiniz ("Evet" veya Hayır"). Aşağıdaki bölümlerde, kullanıcı "Evet" veya "Hayır" dediğinde eşleşen kullanıcı amaçları oluşturur ve bu amaçları Start sahnesine eklersiniz.

yes amacı oluştur

yes amacını oluşturmak için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Niyet listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
  3. Niyet listesinin sonundaki + (artı) işareti'ni tıklayın.
  4. Yeni amacı yes olarak adlandırın ve Enter tuşuna basın.
  5. yes amaç sayfasını açmak için yes niyetini tıklayın.
  6. Eğitim ifadeleri ekleme bölümünde, İfade Girin metin kutusunu tıklayın ve aşağıdaki ifadeleri girin:
  • Yes
  • Y
  • I would
  • Tell me

98440276cb9e7de8.png

  1. Kaydet'i tıklayın.

Start sahnesine yes niyeti ekle

Artık bir işlem, evet niyetini ifade ettiğinde işlem yapabilir. Kullanıcı, Start istemine yanıt verdiği için yes sahnesini Start sahnesine ekleyebilirsiniz ("Görevinize devam etmeden önce kaderinizin bilgilendirilmesini ister misiniz?).

Bu kullanıcı amacını Start sahnesine eklemek için şu adımları uygulayın:

  1. Gezinme çubuğunda Başlat sahnesini tıklayın.
  2. Start sahnesinde Kullanıcı amacı işleme seçeneğinin yanındaki + (artı) işaretini tıklayın.
  3. Niyet açılır menüsünden evet'i seçin.

681928e3d71abdbf.png

  1. İstemleri gönder'i tıklayın ve speech alanını şu metinle güncelleyin: Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.

Düzenleyicinizdeki kod aşağıdaki snippet'e benzemelidir:

candidates:
  - first_simple:
      variants:
        - speech: >-
            Your future depends on the aid you choose to use for your quest. Choose
            wisely! Farewell, stranger.
  1. Geçiş bölümünde, açılır menüyü tıklayın ve Görüşmeyi sonlandır'ı seçin.
  2. Kaydet'i tıklayın.

Simülasyonda yes amacını test edin

Bu aşamada İşleminiz, kullanıcının ne zaman talihini duymak istediğini anlar ve uygun yanıtı döndürür.

Bu amacı simülasyon aracında test etmek için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Test et'i tıklayın.
  2. Simülasyon aracını kullanarak yaptığınız işlemi test etmek için Giriş alanına Talk to my test app yazıp Enter tuşuna basın.
  3. Giriş alanına Yes yazıp Enter tuşuna basın. Alternatif olarak, Evet öneri çipini tıklayın.

f131998710d8ffd8.png

İşleminiz kullanıcıya yanıt veriyor ve kullanıcıya ne kadar şans eseri seçtiğine yardımcı olduğunu belirtiyor. Ardından, yes amacı için End conversation geçişini seçtiğiniz için İşleminiz oturumu sona erdirir.

no amacı oluştur

Şimdi, kullanıcının falını dinlemek istemediğini anlamak ve ona yanıt vermek için no niyeti oluşturmanız gerekir. Bu amacı oluşturmak için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Niyet listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
  3. Niyet listesinin sonundaki + (artı) işareti'ni tıklayın.
  4. Yeni amacı no olarak adlandırın ve Enter tuşuna basın.
  5. **no**amaç sayfasını açmak için hayır'ı tıklayın.
  6. Eğitim ifadeleri ekleyin bölümünde İfade girin metin kutusunu tıklayın ve aşağıdaki ifadeleri girin:
  • No
  • N
  • I don't want
  • nope

2e7b8fd57eac94c5.png

  1. Kaydet'i tıklayın.

Start sahnesine no niyeti ekle

İşlem artık bir kullanıcının "hayır" benzeri veya hayır" gibi bir şey söylediğini anlayabilir. Kullanıcı, Start istemine yanıt verdiği için no kullanıcı amacını Start sahnesine eklemeniz gerekir (Görevinize devam etmeden önce kaderinizin size haber vermesini ister misiniz?).

Bu amacı Start sahnesine eklemek için şu adımları uygulayın:

  1. Gezinme çubuğunda Başlat sahnesini tıklayın.
  2. Start ortamında Kullanıcı amacı işleme'nin yanındaki + (artı işareti) simgesini tıklayın.
  3. Niyet bölümünde, açılır menüden hayır'ı seçin.

4aa558abdecb3121.png

  1. İstemleri gönder'i tıklayın.
  2. speech alanını şu metinle güncelleyin: I understand, stranger. Best of luck on your quest! Farewell.

Düzenleyicinizdeki kod aşağıdaki snippet'e benzemelidir:

 candidates:
  - first_simple:
      variants:
        - speech: >-
             I understand, stranger. Best of luck on your quest! Farewell.
  1. Geçiş bölümünde, açılır menüden Görüşmeyi sonlandır'ı seçin.
  2. Kaydet'i tıklayın.

Simülasyonda no amacını test edin

Bu noktada İşleminiz, kullanıcının ne zaman talihini duymak istediğini anlar ve uygun yanıtı döndürür.

Bu amacı simülasyon aracında test etmek için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Test et'i tıklayın.
  2. Giriş alanına Talk to my test app yazıp Enter tuşuna basın.
  3. Giriş alanına No yazıp Enter tuşuna basın. Alternatif olarak, Hayır öneri çipini tıklayın.

c0c8b04066577eb2.png

İşleminiz, kullanıcıya şans vermek yerine yolculuğunda şans getirmesini ister. Ardından, no amacı için End conversation geçişini seçtiğiniz için İşleminiz oturumu sona erdirir.

5. Sipariş karşılama uygulayın

Şu anda İşleminizin yanıtları statiktir. Bir istem içeren bir sahne etkinleştirildiğinde, İşleminiz her seferinde aynı istemi gönderir. Bu bölümde, dinamik bir konuşma yanıtı oluşturma mantığını içeren sipariş karşılama özelliğini uygularsınız.

Sipariş karşılama, kullanıcının geri gelen kullanıcı mı yoksa yeni kullanıcı mı olduğunu tanımlar ve Geri gelen kullanıcılar için İşlemin karşılama mesajını değiştirir. Karşılama mesajı, geri gelen kullanıcılar için kısaltılır ve kullanıcının dönmesini onaylar: "Güzel bir karşılama, maceracı! Gryffinberg'in efsanevi dünyasına tekrar hoş geldiniz!

Bu codelab'de, sipariş karşılama kodunuzu düzenlemek ve dağıtmak için Actions konsolundaki Cloud Functions düzenleyiciyi kullanın.

İşleminiz, çağrı sırasında veya bir etkinliğin yürütüldüğü belirli bölümlerinde gerçekleşen bir etkinliği karşılamanızı bildiren webhook'ları tetikleyebilir. Webhook tetiklendiğinde işleminiz, etkinliği işlemek için kullanılacak işleyicinin adıyla birlikte karşılama durumunuza JSON yükü içeren bir istek gönderir. Bu işleyici bir mantık yürütür ve buna karşılık gelen bir JSON yanıtı döndürür.

İstek karşılamanız

Şimdi satır içi düzenleyicide karşılamanızı değiştirerek, geri gelen kullanıcılar ve İşleminizi başlattıklarında yeni kullanıcılar için farklı istemler oluşturabilirsiniz.

Bu mantığı karşılamanıza eklemek için şu adımları uygulayın:

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Gezinme çubuğunda Webhook sekmesini tıklayın.
  3. Satır içi Cloud Functions onay kutusunu seçin.
  4. Onayla'yı tıklayın. index.js ve package.json dosyaları için ortak kod otomatik olarak eklenir.

d4702f1de6404285.png

  1. index.js içeriğini aşağıdaki kodla değiştirin:

index.js

const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');

const app = conversation({debug: true});

app.handle('greeting', conv => {
 let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
 if (!conv.user.lastSeenTime) {
   message = 'Welcome to the mythical land of  Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
 }
 conv.add(message);
});


exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
  1. İstek Karşılamayı Kaydet'i tıklayın.
  2. İstek Karşılamayı Dağıt'ı tıklayın.

Cloud Functions'ın temel hazırlığınızı yapması ve dağıtması için birkaç dakika bekleyin. Kod düzenleyicinin üzerinde bir Cloud Functions işlevi devam ediyor... mesajı görürsünüz. Kod başarıyla dağıtıldığında, mesaj Cloud Functions işleviniz güncel olarak güncellenir.

Kodu anlama

Node.js için Actions on Google Sipariş Kitaplığı'nı kullanan karşılama siparişiniz, Google Asistan'dan gelen HTTP isteklerine yanıt verir.

Önceki kod snippet'inde, kullanıcının lastSeenTime özelliğini kontrol ederek Action'ı daha önce ziyaret edip etmediğini kontrol eden greeting işleyicisini tanımlarsınız. lastSeenTime tanımlı değilse kullanıcı yenidir ve greeting işleyici yeni kullanıcı karşılama mesajını sağlar.

Webhook'u tetiklemek için ana çağrıyı güncelleyin

greeting işlevini tanımladığınıza göre, kullanıcı eyleminizi çağırdığında İşleminizin bu işlevi çağırması için greeting etkinlik işleyicisini ana çağrı amacınızda yapılandırabilirsiniz.

İşleminizi yeni greeting işleyicisini çağıracak şekilde yapılandırmak için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Ana çağrı'yı tıklayın.
  2. İstemi gönder'i temizleyin.
  3. Webhook'unuzu çağırın onay kutusunu seçin.
  4. Metin kutusuna greeting ifadesini ekleyin.

a803afe4f7375a97.png

  1. Kaydet'i tıklayın.

Simülatörde güncellenmiş ana çağrıyı test et

İşleminizi simülatörde test etmek için aşağıdaki adımları uygulayın:

  1. Simülatöre gitmek için gezinme çubuğunda Test et'i tıklayın.
  2. Giriş alanına Talk to my test app yazıp Enter tuşuna basın.

Bu codelab'in başlarında İşleminizi test ettiğiniz için yeni bir kullanıcı değilsiniz. Bu nedenle, şu kısaltılmış karşılama mesajını alacaksınız: "Harika bir karşılama, maceracı! Gryffinberg'in efsanevi dünyasına tekrar hoş geldiniz!

Projenizi temizleyin [önerilir]

Olası ücretler tahakkuk etmesini önlemek için kullanmak istemediğiniz projeleri kaldırmanız önerilir. Bu codelab'de oluşturduğunuz projeleri silmek için aşağıdaki adımları uygulayın:

  1. Cloud Projesi'ni ve kaynakları silmek için Projeleri kapatma (silme) bölümünde listelenen adımları tamamlayın.
  1. İsteğe bağlı: Projenizi İşlemler konsolundan hemen kaldırmak için Proje silme bölümünde listelenen adımları tamamlayın. Bu adımı tamamlamazsanız projeniz yaklaşık 30 gün sonra otomatik olarak kaldırılır.

6. Tebrikler!

Google Asistan için Actions geliştirmeyle ilgili temel bilgileri biliyorsunuz.

Ele aldığınız konular

  • Actions Console ile Actions projesi oluşturma
  • Kullanıcıların İşleminizle görüşme başlatabilmesi için ana çağrıya istem ekleme
  • Sahneler, niyetler, geçişler, öneri çipleri ve istek karşılama ile sohbet arayüzü oluşturma
  • Actions simülatörüyle Action'ınızı test etme

Daha fazla bilgi

Actions for Google Asistan'ı oluşturma hakkında daha fazla bilgi edinmek için aşağıdaki kaynakları inceleyin:

Geri bildirim anketi

Ayrılmadan önce lütfen deneyiminizle ilgili kısa bir anket doldurun.