Actions projesi, tüm Actions'ınızı tek bir container'da paketler. Siz Google Asistan'ın nasıl keşfedeceğini bilmesi için bu projeyi Actions on Google'da yayınlayın ve konuşma deneyimlerinizi çağırın.
Actions projenizi oluşturmak için aşağıdaki alt düzey bileşenleri kullanırsınız:
Ayarlar ve kaynaklar proje meta verilerini tanımlar. ve kaynaklar hakkında bilgi edineceksiniz. Google bu bilgileri kullanarak Kullanıcıların keşfetmeleri ve çağırmaları için Eylemlerinizi Asistan dizinine ekleyin gerekir.
Amaçlar, gerçekleştirilecek bir görevi temsil eder. Örneğin kullanıcı girişi veya işlenmesi gereken bir sistem olayını oluşturur. En yaygın olarak kullanılan kullanıcının amaçlarıdır. Bu amaçlar, eğitimin nasıl NLU (doğal dil anlama) tarafından doğal olarak genişletilen ifadeler içeren bir arama motorudur. NLU, şunların toplanmasını kullanır: Asistan'ın kullanıcıyı eşleştirmek için kullandığı bir dil modelini eğitmek için bu ifadeler giriş. Görüşme sırasında bazı kullanıcı girişleri niyetin diliyle eşleşiyorsa Asistan çalışma zamanı, niyeti İşleminize gönderir. Böylece işleme koymalı ve kullanıcıya yanıt vermelidir.
Türler, kullanıcı girişinden yapılandırılmış verileri ayıklamanıza olanak tanır. Ölçüt eğitim ifadelerini türlerle notlandırdıktan sonra, NLU, verileri sizin için oluşturur, böylece açık uçlu girişi ayrıştırmak zorunda kalmazsınız.
Sahneler, amaçları işler ve öğelerin temel mantık yürütücüsüdür. ve İşlemleriniz. Boşluk doldurma, koşullu mantığı değerlendirebilir, hatta harici web hizmetlerini arayarak iş mantığına dayanır. Sahneler, niyetlerle birlikte kullanıldığında belirli kullanıcı girişlerini veya sistem olaylarını tespit edip bunlara karşılık gelen mantığıyla başlayalım.
İstemler, daha önce kullandığınız statik veya dinamik yanıtları yanıt verebilirsiniz.
Webhook'lar, web hizmetlerine ek işler için yetki vermenize olanak tanır (ör. verileri doğrulama veya istem oluşturma). İşlemleriniz JSON tabanlı bir webhook protokolü aracılığıyla sipariş karşılama ile iletişim kurun.
Etkileşimli Tuval, zengin olanaklar oluşturmanıza olanak tanır. ve sürükleyici bir deneyim sunar.
Proje oluşturma
Actions Console'da bir proje oluşturmanız gerekir Google Asistan Proje oluşturmak için:
- Actions Console'a gidin.
- Yeni proje'yi tıklayın.
- Projeniz için bir ad girin ve Proje Oluştur'u tıklayın.
- Ne tür bir İşlem oluşturmak istiyorsunuz? ekranında projenizi en iyi temsil eden kategoriyi seçin ve İleri'yi tıklayın.
- Nasıl oluşturmak istiyorsunuz? ekranında bir derleme yöntemi seçin. Oluşturmaya başla'yı tıklayın. Örneğin, boş bir veya örneklem kullanabilirsiniz.
Yerel Actions SDK projesi oluşturma
Actions konsolunda bir Actions projesi oluşturduktan sonra yerel geliştirme ortamınızda bir projeyi başlatın.
Mevcut bir Actions projesinden Actions SDK projesi başlatmak için aşağıdaki adımları uygulayın: şu adımları uygulayın:
- Yerel dosya sisteminizde Actions projesi için boş bir dizin oluşturun.
- Bu boş dizinde bir
sdk
dizini oluşturun. - Çalışma dizininizi terminalinizdeki
sdk
dizini olarak değiştirin.
Boş bir projeyle başlayın
Konsolda yeni oluşturduğunuz boş projeden başlamak isterseniz
gactions pull --project-id <my-project-id>
çalıştır.
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
Örnek projeyle başlayın
Örnek projeden başlamak istiyorsanız gactions init <sample name>
komutunu çalıştırın.
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
Proje bilgilerini tanımlama
Projenizin ayarları ve kaynakları, projenizle ilgili şu tür bilgileri tanımlar: desteklenen yerel ayarlar, görünen ad, açıklama, özellik ve yüzey desteği ve daha fazlası. Aşağıdaki tabloda ana ayarlar ve kaynaklar açıklanmıştır. gösterir. Actions on Google bunu kullanır ve uygulama bilgilerinizi Asistan'a dağıtabilirsiniz. dizinine ekleyin.
Ad | Açıklama |
---|---|
Dizin bilgileri | Actions on Google'ın sizinle iletişime geçebilmesi için projeyi Asistan dizinine ekleyin. Meta veri ve ayrıntılandırmaları içerir logolar ve banner resimleri için projeniz ve görüntü kaynaklarınız hakkında bilgi verin. |
Yer hedefleme | Actions'ınızın kullanılabildiği yerel ayarları yapılandırır. |
Yüzey özellikleri | Actions'ınızın kullanılabildiği yüzeyleri yapılandırır. |
Şirket bilgileri | Şirketiniz için iletişim bilgilerini belirtir. |
Marka doğrulama | Ekstra avantajlar elde etmek için sahibi olduğunuz bir web sitesini veya Android uygulamasını bağlayın ayrılmış çağrı adları ve İşlemlerinizdeki web sitesi bağlantıları gibi. |
Serbest bırak | İşleminiz için farklı test ve üretim sürümlerini yapılandırır test ve üretim için kullanıyor. |
Asistan bağlantıları | Kullanıcıların İşlemlerlerinizi web mülklerinizden çağırmasına izin verin. |
Proje bilgilerini tanımlamak için:
sdk/settings/settings.yaml
içinde Actions projeniz için genel ayarları tanımlayın. Ayarlar referansını inceleyin dokümanlarına göz atabilirsiniz.Aşağıdaki snippet'te örnek bir
sdk/settings/settings.yaml
dosyası gösterilmektedir:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
Kullanıcının yerel ayarına göre değişebilecek ayarlar tanımlayın (örneğin, farklı dillerdeki çağrı ifadeleri)
sdk/settings/<locale>/settings.yaml
dosyasına kopyalarsanız locale yerine hedef yerel ayarınızı kullanın.LocalizedSettings (Yerelleştirilmiş Ayarlar) bölümüne bakın. desteklenen değerler için referans dokümanlara başvurun.
Aşağıdaki snippet,
sdk/settings/en/settings.yaml
dosyası:localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
Kaynak ekleyin
Resim dosyaları, ses dosyaları ve dizeler gibi kaynakları
İşlemler projeyi içerir ve yapılandırma dosyalarından bunlara referans verir (örneğin,
(tanımlar veya koşullar) sistem tarafından tanımlanan $resources
değişkenini kullanarak.
Proje kaynakları resources/
altında depolanır ve her kaynak türü:
dizinde bir klasör atadı.
Kaynakta yerel ayara özel klasörler oluşturarak kaynakları yerelleştirebilirsiniz.
type klasörünün bir örneğidir. Örneğin, dizelerinizin İspanyolca sürümlerini
resources/strings/es/<filename>.yaml
Resimler
Resim dosyaları resources/images/
içinde depolanır. Bu dosyalara referans verebilirsiniz
$resources.images.<name of the image file without file extension>
ile.
İzin verilen dosya uzantıları şunlardır:
gif
png
jpg
jpeg
Örneğin, küçük logonun İngilizce sürümü
resources/images/en/square.png
ve büyük banner'ın İngilizce versiyonu
sırasıyla resources/images/en/landscape.jpg
,
Önceki örnekteki sdk/settings/en/settings.yaml
şöyle olur:
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
Ses dosyaları
Ses dosyaları resources/audio/
hizmetinde depolanır. Bu dosyalara referans verebilirsiniz
$resources.audio.<name of the audio file without file extension>
ile.
İzin verilen dosya uzantıları şunlardır:
mp3
mpeg
Örneğin, istemlerdeki ses kayıtlarına referans verebilirsiniz:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
Dize
Dizeler resources/strings/
içinde .yaml
dosyaları olarak depolanır. Her dosya
dize anahtarları ve ilişkili değerleri içeren bir eşleme (tek dize veya liste olabilir)
yardımcı olabilir. Değerlere, Arkadaş Bitkiler projesinin
$resources.strings.<name of the image file without file extension>.<key>
.
tek dize değerleri için veya bir listeden rastgele bir değer almak için ve
$resources.strings.<name of the image file without file extension>.<key>.<numerical index>
değerini girin.
Örneğin, dizelerin yerelleştirilmesi için kaynak dizeleri kullanıldığında
Önceki örnekteki sdk/settings/en/settings.yaml
şöyle olabilir:
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
Simülatörde projeleri test etme
Actions konsolu, Eylemlerinizi önizlemek için bir simülasyon aracı sağlar. İlgili içeriği oluşturmak için kullanılan simülatörü kullanarak hata ayıklama bilgilerini görebilir, cihaz özelliklerini ayarlayabilir, yerel ayar ve daha fazlası.
![](https://google-developers.gonglchuangl.net/static/assistant/console/images/simulator/simulator-overview.png?authuser=0&hl=tr)
Bir projeyi test etmek için:
- İşleminizi "önizleme" işlemine dağıtmak için
gactions deploy preview
komutunu çalıştırın ve test etmek için kullanılır. - Simülatöre erişmek için komut çıkışındaki URL'yi açın.
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview