Proje oluşturma

Actions projesi, tüm İşlemlerinizi tek bir kapsayıcıda paketler. Google Asistan'ın konuşma deneyimlerinizi nasıl keşfedip çağıracağını bilmesi için bu projeyi Actions on Google'da yayınlarsınız.

işlemler proje bileşenleri
Şekil 1. İşlemler projesinin yapısı

Actions projenizi oluşturmak için aşağıdaki alt düzey bileşenleri kullanırsınız:

  • Ayarlar ve kaynaklar, proje meta verilerini ve proje simgeleri gibi kaynakları tanımlar. Google, kullanıcıların bu işlemleri keşfedip çağırabilmesi amacıyla İşlemlerinizi Asistan dizininde yayınlamak için bu bilgileri kullanır.

  • Amaçlar bazı kullanıcı girişleri veya işlenmesi gereken bir sistem etkinliği gibi yürütülecek görevleri temsil eder. Kullanacağınız en yaygın amaç türü kullanıcı amaçlarıdır. Bu amaçlar, NLU (doğal dil anlama) motoru tarafından doğal olarak genişletilen ve daha fazla benzer ifade içerecek şekilde genişletilen eğitim ifadelerini bildirmenize olanak tanır. NLU, Asistan'ın kullanıcı girişini eşleştirmek için kullandığı bir dil modelini eğitmek için bu ifadelerin toplamından yararlanır. Görüşme sırasında, bazı kullanıcı girişleri amacın dil modeliyle eşleşirse Asistan çalışma zamanı, amacı işleyip kullanıcıya yanıt verebilmesi için İşleminize gönderir.

  • Türler, kullanıcı girişinden yapılandırılmış veriler çıkarmanızı sağlar. NLU, eğitim ifadelerine türlerle ek açıklamalar ekleyerek sizin için alakalı ve yapılandırılmış verileri çıkarabilir. Böylece açık uçlu girişleri ayrıştırmanıza gerek kalmaz.

  • Sahneler, amaçları işler ve İşlemleriniz için ana mantık yürütücülerdir. Slot doldurma yapabilir, koşullu mantığı değerlendirebilir, kullanıcıya istemler döndürebilir, hatta iş mantığını yürütmeleri için harici web hizmetlerine çağrı yapabilirler. Amaçlarla birlikte, sahneler belirli kullanıcı girişlerini veya sistem etkinliklerini tespit etmek ve ilgili mantığı gerçekleştirmek için güçlü bir yöntem sunar.

  • İstemler, kullanıcılara yanıt vermek için kullandığınız statik veya dinamik yanıtları tanımlar.

  • Webhook'lar, web hizmetlerine (ör. veri doğrulama veya istem oluşturma) ek işler için yetki vermenize olanak tanır. İşlemleriniz JSON tabanlı bir webhook protokolü üzerinden karşılamanızla iletişim kurar.

  • Etkileşimli Tuval; HTML, CSS ve JavaScript kullanan web uygulamalarıyla zengin ve sürükleyici deneyimler oluşturmanıza olanak tanır.

Proje oluşturma

Google Asistan için uygulama geliştirmeden önce Actions konsolunda bir proje oluşturmanız gerekir. Proje oluşturmak için:

  1. Actions Console'a gidin.
  2. Yeni proje'yi tıklayın.
  3. Projeniz için bir ad girin ve Proje Oluştur'u tıklayın.
  4. Ne tür bir İşlem oluşturmak istiyorsunuz? ekranında projenizi en iyi temsil eden kategoriyi seçin ve İleri'yi tıklayın.
  5. Nasıl oluşturmak istiyorsunuz? ekranında, bir derleme yöntemi seçin ve Derlemeye başla'yı tıklayın. Örneğin, boş bir proje veya bir örnekle başlayabilirsiniz.

Yerel Actions SDK projesi oluşturma

Actions konsolunda bir Actions projesi oluşturduktan sonra, yerel geliştirme ortamınızda bir projeyi başlatabilirsiniz.

Mevcut bir Actions projesinden Actions SDK projesi başlatmak için şu adımları uygulayın:

  1. Yerel dosya sisteminizde Actions projesi için boş bir dizin oluşturun.
  2. Bu boş dizinde bir sdk dizini oluşturun.
  3. Ç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 istiyorsanız gactions pull --project-id <my-project-id> komutunu çalıştırın.

$ 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 bir projeyle başlayın

Örnek bir projeyle 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ı; özellik ve yüzey desteği, desteklenen yerel ayarlar, görünen ad, açıklama, logolar ve daha fazlası gibi projenizle ilgili bilgileri tanımlar. Aşağıdaki tabloda sağladığınız ana ayarlar ve kaynaklar açıklanmaktadır. Actions on Google, projenizi Asistan dizininde dağıtmak ve yayınlamak için bu bilgileri kullanır.

Ad Açıklama
Dizin bilgileri Actions on Google'ın projenizi Asistan dizininde yayınlayabilmesi için bilgi sağlar. Projenizle ilgili meta verileri ve açıklamaları, logolar ve banner resimleri için resim kaynaklarını içerir.
Konum hedefleme İşlemlerinizin bulunduğu yerel ayarları yapılandırır.
Yetenekleri gösterin İşlemlerinizin kullanılabildiği yüzeyleri yapılandırır.
Şirket bilgileri Şirketiniz için iletişim bilgilerini belirtir.
Marka doğrulama İşlemlerinizde ayrılmış çağrı adları ve web sitesi bağlama gibi ek avantajlardan yararlanmak için sahip olduğunuz bir web sitesini veya Android uygulamasını bağlayın.
Lansman Test ve üretime yönelik İşleminiz için farklı test ve üretim sürümleri yapılandırır.
Asistan bağlantıları Kullanıcıların web mülklerinizden İşlemlerinizi çağırmasına izin verin.

Proje bilgilerini tanımlamak için:

  1. sdk/settings/settings.yaml içinde Actions projeniz için genel ayarları tanımlayın. Desteklenen değerler için Ayarlar referans belgelerine bakın.

    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
    ...
    

  2. sdk/settings/<locale>/settings.yaml dosyasında kullanıcının yerel ayarına (örneğin, farklı dillerdeki çağrı ifadeleri) göre değişebilecek ayarları tanımlayarak yerel ayarı hedef yerel ayarınızla değiştirin.

    Desteklenen değerler için LocalizedSettings referans belgelerine bakın.

    Aşağıdaki snippet, sdk/settings/en/settings.yaml dosyasında tanımlanan İngilizce ayarlara ilişkin bir örnektir:

    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ı Actions projenizde depolayabilir ve sistem tanımlı $resources değişkenini kullanarak yapılandırma dosyalarından (ör. istem tanımları veya koşullar) bunlara referans verebilirsiniz.

Proje kaynakları resources/ altında depolanır ve her kaynak türüne dizinde bir klasör atanır.

Kaynak türü klasöründe yerel ayara özel klasörler oluşturarak kaynakları yerelleştirebilirsiniz. Örneğin, dizelerinizin İspanyolca sürümlerini resources/strings/es/<filename>.yaml hizmetinde depolayabilirsiniz.

Resimler

Resim dosyaları resources/images/ içinde depolanır ve bunlara $resources.images.<name of the image file without file extension> ile başvurabilirsiniz. İ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 bölümüne ve büyük banner'ın İngilizce sürümü sırasıyla resources/images/en/landscape.jpg için kaydedilirse önceki örnekte verilen 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/ içinde depolanır ve bunlara $resources.audio.<name of the audio file without file extension> ile başvurabilirsiniz.

İzin verilen dosya uzantıları şunlardır:

  • mp3
  • mpeg

Örneğin, istemlerdeki ses kayıtlarına başvurabilirsiniz:

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ının ve ilişkili değerlerin haritasını içerir. Bunlar, tek dizeler veya dize listeleri olabilir. Değerlere, tek dize değerleri için veya bir listeden rastgele değer almak amacıyla $resources.strings.<name of the image file without file extension>.<key> ve bir listedeki belirli bir dize değeri için $resources.strings.<name of the image file without file extension>.<key>.<numerical index> öğesini kullanabilirsiniz.

Örneğin, dize yerelleştirmesi için kaynak dizeleri kullanıldığında önceki örnekte verilen sdk/settings/en/settings.yaml şu şekilde 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, Actions'ı önizlemeniz için bir simülatör sağlar. Simülatör sayesinde hata ayıklama bilgilerini görebilir, cihaz özelliklerini ayarlayabilir, yerel ayarı simüle edebilir ve daha pek çok işlem yapabilirsiniz.

Şekil 3. Simülatörün ana alanları: (1) kullanıcı girişi, (2) cihaz görünümü, (3) seçenekler ve ayarlar, (4) görüşme günlüğü.

Bir projeyi test etmek için:

  1. İşleminizi "önizleme" yapmak ve simülatörde test etmeyi etkinleştirmek için gactions deploy preview çalıştırın.
  2. 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