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:
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:
- Google Chrome gibi bir web tarayıcısı
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:
- Etkinlik kontrolleri sayfasına gidin.
- Henüz yapmadıysanız Google Hesabınızla oturum açın.
- 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:
- Actions Console'u açın.
- Yeni proje'yi tıklayın.
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.)
- Proje oluştur'u tıklayın.
- Ne tür bir işlem oluşturmak istiyorsunuz? ekranında Özel kartını seçin.
- İleri'yi tıklayın.
- Boş proje kartını seçin.
- 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:
- Google Cloud Platform faturalandırma sayfasına gidin.
- Faturalandırma hesabı ekle veya Hesap oluştur'u tıklayın.
- Ödeme bilgilerinizi girin.
- Ücretsiz denememi başlat veya Faturalandırmayı gönder ve etkinleştir'i tıklayın.
- Google Cloud Platform faturalandırma sayfasına gidin.
- Projelerim sekmesini tıklayın.
- Codelab'in İşlemler projesinin yanındaki İşlemler bölümünde üç noktayı tıklayın.
- Faturalandırmayı değiştir'i tıklayın.
- 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:
- Gezinme çubuğunda Ana çağırma'yı tıklayın.
- 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.
- 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:
- Simülatöre gitmek için üst gezinme çubuğunda Test'i tıklayın.
- İşleminizi simülatörde çağırmak için Giriş alanına
Talk to my test app
yazıpEnter
tuşuna basın.
İş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:
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ıranMain 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:
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.
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:
- Gezinme çubuğunda Geliştir'i tıklayın.
- Yan gezinme çubuğunda Ana çağırma'yı tıklayın.
- Geçiş bölümünde, açılır menüyü tıklayın ve metin alanına
Start
yazın.
- Ekle'yi tıklayın. Bu işlem,
Start
adlı bir sahne oluşturur ve İşleme, karşılama istemini kullanıcıya ilettikten sonraStart
sahnesine geçmesini söyler. - Sahne listesini göstermek için yan gezinme çubuğunda Sahneler'i tıklayın.
- Sahneler bölümünde,
Start
sahnesini görmek için Başlat'ı tıklayın. Start
sahnesinin On enter (Girişte) bölümünde + simgesini tıklayın.- İstemleri gönder'i seçin.
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?
- 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:
Start
sahnesinde öneriler'i tıklayın. Bu işlem tek bir öneri çipi ekler.title
alanındaSuggested Response
değerini'Yes'
ile değiştirin.- 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'
- Kaydet'i tıklayın.
İş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:
- Simülasyon aracına gitmek için gezinme çubuğunda Test'i tıklayın.
- İşleminizi simülatörde test etmek için Giriş alanına
Talk to my test app
yazıpEnter
tuşuna basın. İşleminiz,Main invocation
istemi ve eklenenStart
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:
- İsteme yanıt vermek için
Yes
veyaNo
öneri çipini tıklayın. ("Evet" veya "Hayır" da diyebilir ya da Giriş alanınaYes
veyaNo
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:
- Gezinme çubuğunda Geliştir'i tıklayın.
- Amaçlar listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
- Niyet listesinin sonundaki + (artı işareti) simgesini tıklayın.
- Yeni amaca ad verin
yes
veEnter
tuşuna basın. yes
amaç sayfasını açmak içinyes
amacını tıklayın.- 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
- 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:
- Gezinme çubuğunda Başlangıç sahnesini tıklayın.
- Kullanıcı amacını işleme'nin yanındaki
Start
sahnesinde + (artı işareti) simgesini tıklayın. - Amaç açılır menüsünde evet'i seçin.
- İ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.
- Geçiş bölümünde, açılır menüyü tıklayın ve Sohbeti sonlandır'ı seçin.
- 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:
- Gezinme çubuğunda Test'i tıklayın.
- İşleminizi simülatörde test etmek için Giriş alanına
Talk to my test app
yazıpEnter
tuşuna basın. - Giriş alanına
Yes
yazıpEnter
tuşuna basın. Alternatif olarak, Evet öneri çipini tıklayın.
İş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:
- Gezinme çubuğunda Geliştir'i tıklayın.
- Amaçlar listesini açmak için gezinme çubuğunda Özel Amaçlar'ı tıklayın.
- Niyet listesinin sonundaki + (artı işareti) simgesini tıklayın.
- Yeni amaca ad verin
no
veEnter
tuşuna basın. - **
no
** Amaç sayfasını açmak için hayır'ı tıklayın. - 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
- 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:
- Gezinme çubuğunda Başlangıç sahnesini tıklayın.
Start
sahnesinde Kullanıcı amacını işleme'nin yanındaki + (artı işareti) simgesini tıklayın.- Amaç bölümündeki açılır menüden hayır'ı seçin.
- İstemleri gönder'i tıklayın.
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.
- Geçiş bölümündeki açılır menüden Sohbeti sonlandır'ı seçin.
- 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:
- Gezinme çubuğunda Test'i tıklayın.
- Giriş alanına
Talk to my test app
yazıpEnter
tuşuna basın. - Giriş alanına
No
yazıpEnter
tuşuna basın. Alternatif olarak, Hayır öneri çipini tıklayın.
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:
- Gezinme çubuğunda Geliştir'i tıklayın.
- Gezinme çubuğunda Webhook sekmesini tıklayın.
- Satır içi Cloud Functions onay kutusunu işaretleyin.
- Onayla'yı tıklayın.
index.js
vepackage.json
dosyaları için standart kod otomatik olarak eklenir.
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);
- Save Fulfillment'ı (Yerine Getirme İşlemini Kaydet) tıklayın.
- 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:
- Gezinme çubuğunda Ana çağırma'yı tıklayın.
- İstem gönder'i temizleyin.
- Webhook'unuzu çağırın onay kutusunu seçin.
- Metin kutusuna
greeting
ekleyin.
- 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:
- Simülasyon aracına gitmek için gezinme çubuğunda Test'i tıklayın.
- Giriş alanına
Talk to my test app
yazıpEnter
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:
- Cloud projesini ve kaynaklarını silmek için Projeleri kapatma (silme) bölümünde listelenen adımları tamamlayın.
- İ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:
- Bu codelab'deki etkileşimli işleminizi geliştirmeye devam etmek için Actions Builder'ı kullanarak Google Asistan için İşlemler oluşturma (2. seviye) codelab'ini inceleyin.
- Google Asistan için İşlemler geliştirme ile ilgili resmi doküman sitesi
- Örnek kod ve kitaplıklar için Actions on Google GitHub sayfası
- Asistan ile çalışan geliştiriciler için resmi Reddit topluluğu
- En son duyurular için Twitter'da @ActionsOnGoogle'ı takip edin (#AoGDevs etiketiyle tweet atarak geliştirdiklerinizi paylaşın).
Geri bildirim anketi
Ayrılmadan önce lütfen deneyiminizle ilgili kısa bir anket doldurun.