Actions Builder'ı kullanarak Google Asistan için İşlemler oluşturma (1. Düzey)

1. Genel Bakış

Google Asistan geliştirici platformu, Google Asistan'ın işlevselliğini akıllı hoparlörler, telefonlar, arabalar, TV'ler ve kulaklıklar dahil olmak üzere 1 milyardan fazla cihazda genişletmek için yazılım oluşturmanıza olanak tanır. Kullanıcılar, alışveriş yapmak veya araç çağırmak gibi işlemleri gerçekleştirmek için Asistan ile etkileşime girer. Geliştirici olarak, kullanıcılar ile kendi üçüncü taraf karşılama hizmetiniz arasında keyifli ve etkili sohbet deneyimleri oluşturup yönetmek için Asistan geliştirici platformunu kolayca kullanabilirsiniz.

Bu codelab'de, Google Asistan ile geliştirme yapmaya yönelik başlangıç düzeyindeki kavramlar ele alınmaktadır. Bu codelab'i tamamlamak için platformla ilgili herhangi bir deneyiminiz olması gerekmez. Bu codelab'de, Google Asistan için basit bir işlem oluşturacaksınız. Bu işlem, Gryffinberg'in efsanevi topraklarında maceraya atılan kullanıcılara fal bakacak. Actions Builder Seviye 2 codelab'inde, kullanıcının kaderini girişine göre özelleştirmek için bu işlemi daha da geliştirirsiniz.

Ne oluşturacaksınız?

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

  • Kullanıcılara karşılama mesajıyla yanıt verme
  • Kullanıcılara soru sorulur. Kullanıcı yanıt verdiğinde İşleminiz, kullanıcının seçimine uygun şekilde yanıt verir.
  • Kullanıcıların tıklayarak giriş yapabileceği öneri çipleri sunar.
  • Kullanıcının geri gelen kullanıcı olup olmamasına bağlı olarak karşılama mesajını değiştirir.

Bu codelab'i tamamladığınızda, tamamlanan İşleminiz aşağıdaki sohbet akışına sahip olur:

1c1e79902bed7230.png

18ef55647b4cb52c.png

Neler öğreneceksiniz?

  • Actions Console'da proje oluşturma
  • Kullanıcı, İşleminizi çağırdıktan sonra ona nasıl istem gönderilir?
  • Kullanıcı girişini işleme ve yanıt döndürme
  • İşleminizi Actions simülatöründe test etme
  • Cloud Functions Düzenleyici'yi kullanarak karşılama işlemini uygulama

İhtiyacınız olanlar

Ortamınızda aşağıdaki araçlar bulunmalıdır:

2. Kur

Aşağıdaki bölümlerde, geliştirme ortamınızı nasıl ayarlayacağınız 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 işlemi test etmek için simülatörün işleminize erişebilmesi için gerekli izinleri etkinleştirmeniz gerekir. İzinleri etkinleştirmek için aşağıdaki adımları uygulayın:

  1. Etkinlik kontrolleri sayfasına gidin.
  2. Henüz yapmadı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 geçmişini ve Google hizmetlerini kullanan site, uygulama ve cihazlardaki etkinlikleri ekle onay kutusunu işaretleyin.

Actions projesi oluşturma

Actions projeniz, Action'ınız için bir kapsayıcıdır. Bu codelab için Actions projenizi oluşturmak üzere aşağıdaki adımları uygulayın:

  1. Actions Console'u açın.
  2. Yeni proje'yi tıklayın.
  3. actions-codelab gibi bir proje adı yazın. (Bu 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şkilendirme

Bu codelab'in ilerleyen bölümlerinde Cloud Functions'ı kullanarak karşılama işleminizi dağıtmak için Google Cloud'da projenizle bir 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 Faturalandırmayı gönder ve 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 üç noktayı tıklayın.
  8. Faturalandırmayı değiştir'i tıklayın.
  9. Açılır menüden yapılandırdığınız faturalandırma hesabını seçin. Hesap belirle'yi tıklayın.

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

3. Sohbet başlatma

Kullanıcılar, çağırma yoluyla İşleminizle görüşme başlatır. Örneğin, MovieTime adlı bir İşleminiz varsa kullanıcılar "Ok Google, MovieTime ile konuş" gibi bir ifade söyleyerek İşleminizi çağırabilir. Burada MovieTime, görünen addır. İşleminizi üretime dağıtmak istiyorsanız işleminizin bir 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örde "Test uygulamamla konuş" ifadesini kullanabilirsiniz.

Kullanıcı, İşleminizi çağırdıktan sonra ne olacağını tanımlamak için ana çağırmayı düzenlemeniz gerekir.

Varsayılan olarak, çağırma işleminiz tetiklendiğinde Actions Builder genel bir istem sağlar ("Ana çağırmayı tanımlayarak İşleminizi oluşturmaya başlayın.").

Sonraki bölümde, İşlemler Konsolu'nda ana çağırma isteminizi özelleştireceksiniz.

Ana çağırma ifadesini ayarlama

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

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

966d037e1d7914df.png

  1. Kod düzenleyicide, speech alanındaki metni (Start building your action...) 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.

Ana çağırmayı simülatörde test etme

Actions Console, İşleminizi test etmek için simülatör adlı bir web aracı sunar. Arayüz, donanım cihazlarını ve ayarlarını simüle eder. Böylece, Akıllı Ekran, telefon, hoparlör veya KaiOS'te çalışıyormuş gibi İşleminizle etkileşimde bulunabilirsiniz.

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

İşleminizin ana çağırma ifadesini 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'i tıklayın.
  2. İşleminizi simülatörde çağırmak için Giriş alanına Talk to my test app yazıp Enter tuşuna basın.

656f5736af6a5a07.png

İşleminizin ana çağırma ifadesini tetiklediğinizde Asistan, özelleştirilmiş karşılama mesajınızla yanıt verir. Bu noktada, Asistan 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ştirirsiniz.

Olay günlüklerini görüntüleme

Test sekmesindeyken sağdaki panelde, görüşme geçmişini etkinlik günlükleri olarak gösteren etkinlik günlükleri yer alır. Her etkinlik günlüğünde, görüşmenin o dönüşünde gerçekleşen etkinlikler gösterilir.

İşleminizde şu anda hem kullanıcının girişini ("Talk to my test app") hem de İşleminizin yanıtını gösteren bir etkinlik günlüğü var. Aşağıdaki ekran görüntüsünde İşleminizin etkinlik günlüğü gösterilmektedir:

443129bdcbecc593.png

Etkinlik günlüğündeki aşağı oku tıklarsanız görüşmenin o dönüşünde gerçekleşen etkinlikleri kronolojik olarak sıralanmış şekilde görebilirsiniz:

  • userInput: Kullanıcının girişine karşılık gelir ("Talk to my test app").
  • interactionMatch: Kullanıcının girişiyle tetiklenen işleminizin ana çağırma yanıtına karşılık gelir. Bu satırı oku tıklayarak genişletirseniz ana çağırma için eklediğiniz istemi görebilirsiniz (A wondrous greeting, adventurer!...).
  • endConversation: Şu anda konuşmayı sonlandıran Main invocation niyetinde seçilen geçişe karşılık gelir. (Bu codelab'in sonraki bölümünde geçişler hakkında daha fazla bilgi edineceksiniz.)

Etkinlik günlükleri, işleminizin nasıl çalıştığına dair görünürlük sağlar ve sorun yaşamanız durumunda işleminizde hata ayıklama yapmak 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österildiği gibi etkinlik adının yanındaki oku tıklayın:

fcc389b59af5bef1.png

4. İşleminizin sohbetini oluşturma

Kullanıcılar İşleminizi çağırdıktan sonra ne olacağını tanımladığınıza göre, İşleminizin görüşmesinin geri kalanını oluşturabilirsiniz. Bu codelab'e devam etmeden önce, İşleminizin görüşmesinin nasıl çalıştığını anlamak için aşağıdaki terimleri öğrenin:

İşleminizde bir veya daha fazla sahne olabilir. Her sahnenin çalışabilmesi için etkinleştirilmesi gerekir. (Bu codelab'de oluşturduğunuz işlemde yalnızca Start başlıklı bir sahne bulunur.) Bir sahneyi etkinleştirmenin en yaygın yolu, İşleminizi bir kullanıcı bir sahnedeki kullanıcı amacına uygun olduğunda bu amacın başka bir sahneye geçişi tetikleyip bu sahneyi etkinleştirecek şekilde yapılandırmaktır.

Örneğin, kullanıcıya hayvanlarla ilgili bilgiler veren varsayımsal bir İşlem düşünün. Kullanıcı bu işlemi çağırdığında Main invocation niyeti eşleştirilir ve Facts adlı sahneye geçiş tetiklenir. Bu geçiş, Facts sahnesini etkinleştirir ve kullanıcıya şu istemi gönderir: Would you like to hear a fact about cats or dogs? Facts sahnesinde, kullanıcının kediyle ilgili bir bilgi almak için söyleyebileceği eğitim ifadelerini (ör. "Kediyle ilgili bir bilgi almak istiyorum." veya "kedi") içeren Cat adlı bir kullanıcı amacı var. Kullanıcı kediyle ilgili bir bilgi almak istediğinde Cat amacı eşleştirilir ve Cat fact adlı sahneye geçiş tetiklenir. Cat fact sahnesi etkinleştirilir ve kullanıcıya kediyle ilgili bir bilgi içeren istem gönderilir.

a78f549c90c3bff6.png

1.şekil Actions Builder ile oluşturulan bir işlemdeki tipik bir sohbet dönüşünün akışı

Sahneler, niyetler ve geçişler birlikte konuşmanızın mantığını oluşturur ve kullanıcınızın İşleminizin konuşmasında izleyebileceği çeşitli yolları tanımlar. Aşağıdaki bölümde bir sahne oluşturacak ve kullanıcının İşleminizi çağırmasından sonra bu sahnenin nasıl etkinleştirileceğini tanımlayacaksınız.

Ana çağırmadan sahneye geçiş

Bu bölümde, Start adlı yeni bir sahne oluşturursunuz. Bu sahne, kullanıcıya geleceği hakkında bilgi almak isteyip istemediğini soran bir istem gönderir. Ayrıca, ana çağırmadan yeni Start sahnesine bir geçiş ekleyin.

Bu sahneyi oluşturmak ve sahneye 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ğırma'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 İşleme, karşılama istemini kullanıcıya ilettikten sonra Start sahnesine geçmesini söyler.
  2. Sahne listesini göstermek 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 On enter (Girişte) bölümünde + simgesini tıklayın.
  5. İstemleri gönder'i seçin.
  6. speech alanındaki cümleyi (Enter the response that users will see or hear...) kullanıcıya sorulacak 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ı Start sahnesine girdiğinde bu istemi (Before you continue on your quest...) gösterir.

Öneri çipleri ekleme

Öneri çipleri, kullanıcının tıklayabileceği ve İşleminizin kullanıcı girişi olarak işleyeceği öneriler sunar. Bu bölümde, ekranlı cihazlarda kullanıcıları desteklemek için öneri çipleri ekleyebilirsiniz.

Start sahnesinin istemine öneri çipleri eklemek için aşağıdaki adımları uygulayın:

  1. Start sahnesinde öneriler'i tıklayın. Bu işlem tek bir öneri çipi ekler.
  2. title alanında Suggested Response değerini 'Yes' ile değiştirin.
  3. Aynı biçimlendirmeyi kullanarak 'No' başlıklı bir öneri çipini manuel olarak ekleyin. Kodunuz aşağıdaki snippet'e benzemelidir:
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. Kaydet'i tıklayın.

2d13c2ada791ec26.png

İşleminizi simülatörde test etme

Bu noktada, İşleminiz ana çağırmadan Start sahnesine geçiş yapmalı ve kullanıcıya geleceği hakkında bilgi verilmesini isteyip istemediğini sormalıdır. Öneri çipleri, simüle edilmiş ekranda da görünmelidir.

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

  1. Simülasyon aracına gitmek için gezinme çubuğunda Test'i tıklayın.
  2. İşleminizi simülatörde 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 istemiyle "Before you continue on your quest, would you like your fortune told?" yanıtını vermelidir.

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

3c2013ebb2da886a.png

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

İsteme yanıt verdiğinizde İşleminiz, girişinizi anlayamadığını belirten bir mesajla yanıt veriyor: "Üzgünüm, anlayamadım. Tekrar deneyebilir misiniz?" İşleminizi henüz "Evet" veya "Hayır" girişini anlayıp yanıtlayacak şekilde yapılandırmadığınız için İşleminiz, girişinizi bir NO_MATCH niyetiyle eşleştiriyor.

NO_MATCH sistem amacı varsayılan olarak genel yanıtlar verir ancak bu yanıtları, kullanıcının girişini anlamadığınızı belirtmek için özelleştirebilirsiniz. Asistan, kullanıcı girişini üç kez eşleştiremediğinde kullanıcının İşleminizle olan görüşmesini sonlandırır.

yes ve no amaçlarını ekleyin

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

yes amacı oluşturma

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

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Amaçlar listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
  3. Niyet listesinin sonundaki + (artı işareti) simgesini tıklayın.
  4. Yeni amaca ad verin yes ve Enter tuşuna basın.
  5. yes amaç sayfasını açmak için yes amacını tıklayın.
  6. Eğitim ifadeleri ekle 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.

yes amacını Start sahnesine ekle

Artık İşlem, kullanıcının "evet" niyetini ifade ettiğini anlayabiliyor. Kullanıcı, Start istemine ("Maceranıza devam etmeden önce geleceğiniz hakkında bilgi almak ister misiniz?") yanıt verdiği için yes kullanıcı amacını Start sahnesine ekleyebilirsiniz.

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

  1. Gezinme çubuğunda Başlangıç sahnesini tıklayın.
  2. Kullanıcı amacını işleme'nin yanındaki Start sahnesinde + (artı işareti) simgesini tıklayın.
  3. Amaç açılır menüsünde evet'i seçin.

681928e3d71abdbf.png

  1. İstemleri gönder'i tıklayın ve speech alanını aşağıdaki 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 Sohbeti sonlandır'ı seçin.
  2. Kaydet'i tıklayın.

Simülatörde yes amacını test etme

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

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

  1. Gezinme çubuğunda Test'i tıklayın.
  2. İşleminizi simülatörde 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 seçtiği yardıma göre geleceğinin şekilleneceğini söylüyor. Ardından, yes amacı için End conversation geçişini seçtiğinizden oturum sona erer.

no amacı oluşturma

Şimdi, kullanıcının falını duymak istemediği zaman onu anlayıp yanıtlamak için no niyetini oluşturmanız gerekiyor. Bu amacı oluşturmak için aşağıdaki adımları uygulayın:

  1. Gezinme çubuğunda Geliştir'i tıklayın.
  2. Amaçlar listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
  3. Niyet listesinin sonundaki + (artı işareti) simgesini tıklayın.
  4. Yeni amaca ad verin no ve Enter tuşuna basın.
  5. **no** Amaç sayfasını açmak için hayır'ı tıklayın.
  6. Eğitim ifadeleri ekle 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.

no amacını Start sahnesine ekle

Artık İşlem, kullanıcının "hayır" veya "hayır"'a benzer bir ifade (ör. "yok") kullandığını anlayabilir. Kullanıcı, Start istemine ("Maceranıza devam etmeden önce geleceğiniz hakkında bilgi almak ister misiniz?") yanıt verdiği için no kullanıcı amacını Start sahnesine eklemeniz gerekir.

Start sahnesi için bu amacı eklemek üzere aşağıdaki adımları uygulayın:

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

4aa558abdecb3121.png

  1. İstemleri gönder'i tıklayın.
  2. speech alanını aşağıdaki 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ündeki açılır menüden Sohbeti sonlandır'ı seçin.
  2. Kaydet'i tıklayın.

Simülatörde no amacını test etme

Bu noktada, İşleminiz kullanıcının geleceği hakkında bilgi almak istemediğini anlar ve uygun yanıtı döndürür.

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

  1. Gezinme çubuğunda Test'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

Kullanıcıya geleceği hakkında bilgi vermek yerine, İşleminiz yolculuğunda ona başarılar diler. Ardından, no amacı için End conversation geçişini seçtiğinizden oturum sona erer.

5. Sipariş karşılama işlevini uygulama

Şu anda İşleminizin yanıtları statik. Bir istem içeren sahne etkinleştirildiğinde İşleminiz her seferinde aynı istemi gönderiyor. Bu bölümde, dinamik bir sohbet yanıtı oluşturma mantığını içeren karşılama işlevini uygulayacaksınız.

Karşılama mesajınız, kullanıcının geri gelen bir kullanıcı mı yoksa yeni bir kullanıcı mı olduğunu belirler ve geri gelen kullanıcılar için İşlem'in karşılama mesajını değiştirir. Karşılama mesajı, geri dönen kullanıcılar için kısaltılır ve kullanıcının geri döndüğü belirtilir: "Maceraperest, hoş geldin! Efsanevi Gryffinberg diyarına tekrar hoş geldiniz!"

Bu codelab'de, karşılama kodunuzu düzenlemek ve dağıtmak için İşlemler Konsolu'ndaki Cloud Functions düzenleyicisini kullanın.

İşleminiz, çağırma sırasında veya bir sahnenin yürütülmesinin belirli bölümlerinde gerçekleşen bir etkinliğin yerine getirilmesiyle ilgili sizi bilgilendiren webhook'ları tetikleyebilir. Bir webhook tetiklendiğinde Action'ınız, etkinliği işlemek için kullanılacak işleyicinin adıyla birlikte istek karşılama mantığınıza JSON yükü içeren bir istek gönderir. Bu işleyici, bazı mantık işlemlerini gerçekleştirir ve karşılık gelen bir JSON yanıtı döndürür.

İstek karşılama sürecinizi oluşturma

Artık, geri gelen kullanıcılar ve yeni kullanıcılar İşleminizi çağırdığında farklı istemler oluşturmak için satır içi düzenleyicide karşılamanızı değiştirebilirsiniz.

Bu mantığı karşılama işleminize eklemek için aşağıdaki 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 işaretleyin.
  4. Onayla'yı tıklayın. index.js ve package.json dosyaları için standart kod otomatik olarak eklenir.

d4702f1de6404285.png

  1. index.js dosyasının 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. Save Fulfillment'ı (Yerine Getirme İşlemini Kaydet) tıklayın.
  2. Deploy Fulfillment'ı (Karşılama Dağıtımı) tıklayın.

Cloud Functions'ın karşılama işleminizi sağlaması ve dağıtması için birkaç dakika bekleyin. Kod düzenleyicinin üzerinde Cloud Function deployment in progress... (Cloud Function dağıtımı devam ediyor...) mesajını görürsünüz. Kod başarıyla dağıtıldığında mesaj Bulut işlevi dağıtımınız güncel olarak güncellenir.

Kodu anlama

Node.js için Google'da İşlemler İstek Karşılama Kitaplığı'nı kullanan istek karşılama mantığınız, Google Asistan'dan gelen HTTP isteklerine yanıt verir.

Önceki kod snippet'inde, greeting işleyicisini tanımlıyorsunuz. Bu işleyici, lastSeenTime özelliğini kontrol ederek kullanıcının daha önce işlemi ziyaret edip etmediğini kontrol eder. lastSeenTime tanımlanmamışsa kullanıcı yenidir ve greeting işleyici yeni kullanıcı karşılama mesajını sağlar.

Webhook'u tetiklemek için ana çağırmayı güncelleme

greeting işlevini tanımladığınıza göre, kullanıcının işleminizi çağırdığında işleminizin bu işlevi çağırması için ana çağırma amacınızda greeting etkinlik işleyicisini 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ğırma'yı tıklayın.
  2. İstem gönder'i temizleyin.
  3. Webhook'unuzu çağırın onay kutusunu seçin.
  4. Metin kutusuna greeting ekleyin.

a803afe4f7375a97.png

  1. Kaydet'i tıklayın.

Güncellenen ana çağırma ifadesini simülatörde test etme

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

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

Bu codelab'de daha önce işleminizi test ettiğiniz için yeni bir kullanıcı değilsiniz. Bu nedenle, aşağıdaki kısaltılmış selamlama mesajını alırsınız: "Maceraperest, hoş geldin! Welcome back to the mythical land of Gryffinberg!..."

Projenizi temizleme [önerilir]

Olası ücretlerden kaçınmak için kullanmayı düşünmediğ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 projesini ve kaynaklarını silmek için Projeleri kapatma (silme) bölümünde listelenen adımları tamamlayın.
  1. İsteğe bağlı: Projenizi Actions Console'dan hemen kaldırmak için Proje silme bölümünde listelenen adımları uygulayı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 İşlemler oluşturmanın temel bilgilerine sahip olmalısınız.

İşlediğiniz konular

  • Actions Console ile Actions projesi oluşturma
  • Kullanıcıların İşleminizle görüşme başlatabilmesi için ana çağırmaya nasıl isteme eklenir?
  • Sahneler, amaçlar, geçişler, öneri çipleri ve karşılama ile etkileşimli arayüz oluşturma
  • Actions simülatörü ile işleminizi test etme

Daha fazla bilgi

Google Asistan için işlem oluşturma hakkında daha fazla bilgi edinmek üzere aşağıdaki kaynakları inceleyin:

Geri bildirim anketi

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