Xây dựng dự án

Dự án Actions sẽ đóng gói tất cả Hành động vào một vùng chứa duy nhất. Bạn phát hành dự án này lên Actions on Google để Trợ lý Google biết cách khám phá và gọi ra trải nghiệm trò chuyện của bạn.

thành phần dự án hành động
Hình 1. Cấu trúc dự án Hành động

Bạn sẽ sử dụng các thành phần cấp thấp sau đây để tạo dự án Actions của mình:

  • Các chế độ cài đặt và tài nguyên xác định siêu dữ liệu và tài nguyên của dự án như biểu tượng dự án. Google sử dụng thông tin này để phát hành các Hành động của bạn lên thư mục Trợ lý, nhờ đó, người dùng có thể khám phá và gọi các Hành động đó.

  • Ý định biểu thị một tác vụ cần thực hiện, chẳng hạn như một số hoạt động đầu vào của người dùng hoặc một sự kiện hệ thống cần xử lý. Loại ý định phổ biến nhất mà bạn sẽ sử dụng là ý định của người dùng. Các ý định này cho phép bạn khai báo các cụm từ huấn luyện được mở rộng tự nhiên bằng công cụ NLU (hiểu biết ngôn ngữ tự nhiên) để bao gồm nhiều cụm từ tương tự hơn. NLU sẽ tổng hợp các cụm từ này để huấn luyện một mô hình ngôn ngữ mà Trợ lý sử dụng để khớp với thông tin do người dùng nhập. Trong quá trình trò chuyện, nếu một số hoạt động đầu vào của người dùng khớp với mô hình ngôn ngữ của ý định, thì thời gian chạy Trợ lý sẽ gửi ý định đến Hành động của bạn để có thể xử lý và phản hồi người dùng.

  • Loại cho phép bạn trích xuất dữ liệu có cấu trúc từ hoạt động đầu vào của người dùng. Bằng cách chú thích các cụm từ huấn luyện với các loại, NLU có thể trích xuất dữ liệu có cấu trúc có liên quan cho bạn, nhờ đó, bạn không phải phân tích cú pháp nội dung nhập mở.

  • Cảnh xử lý ý định và là thực thi logic chính cho Hành động của bạn. Chúng có thể thực hiện việc lấp đầy không gian, đánh giá logic có điều kiện, trả về lời nhắc cho người dùng và thậm chí gọi các dịch vụ web bên ngoài để thực hiện logic nghiệp vụ. Khi kết hợp với ý định, cảnh sẽ mang đến cho bạn một cách hiệu quả để phát hiện hoạt động đầu vào cụ thể của người dùng hoặc các sự kiện hệ thống, đồng thời triển khai logic tương ứng.

  • Lời nhắc xác định phản hồi tĩnh hoặc động mà bạn dùng để phản hồi người dùng.

  • Webhook cho phép bạn uỷ quyền thêm công việc cho các dịch vụ web (phương thức thực hiện), chẳng hạn như xác thực dữ liệu hoặc tạo lời nhắc. Hành động của bạn giao tiếp với phương thức thực hiện của bạn thông qua giao thức webhook dựa trên JSON.

  • Canvas tương tác cho phép bạn tạo trải nghiệm phong phú và sống động với các ứng dụng web sử dụng HTML, CSS và JavaScript.

Tạo dự án

Bạn phải tạo dự án trong bảng điều khiển Actions trước khi có thể phát triển ứng dụng cho Trợ lý Google. Cách tạo dự án:

  1. Chuyển đến Bảng điều khiển Actions.
  2. Nhấp vào Dự án mới.
  3. Nhập tên cho dự án của bạn rồi nhấp vào Create Project (Tạo dự án).
  4. Trên màn hình Bạn muốn tạo loại hành động nào?, hãy chọn một danh mục thể hiện tốt nhất dự án của bạn rồi nhấp vào Tiếp theo.
  5. Trên màn hình Bạn muốn xây dựng như thế nào, hãy chọn một cách xây dựng rồi nhấp vào Bắt đầu xây dựng. Ví dụ: bạn có thể bắt đầu bằng một dự án trống hoặc bằng một mẫu.

Tạo một dự án SDK Hành động cục bộ

Sau khi tạo dự án Actions trong bảng điều khiển Actions, bạn có thể khởi chạy một dự án trong môi trường phát triển cục bộ.

Để khởi chạy dự án SDK Hành động từ một dự án Actions hiện có, hãy làm theo các bước sau:

  1. Tạo thư mục trống cho dự án Actions (Hành động) trên hệ thống tệp cục bộ.
  2. Trong thư mục trống này, hãy tạo một thư mục sdk.
  3. Thay đổi thư mục đang hoạt động thành thư mục sdk trong dòng lệnh.

Bắt đầu với một dự án trống

Nếu bạn muốn bắt đầu từ dự án trống mà bạn vừa tạo trong bảng điều khiển, hãy chạy gactions pull --project-id <my-project-id>.

$ 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

Bắt đầu với một dự án mẫu

Nếu bạn muốn bắt đầu từ một dự án mẫu, hãy chạy gactions init <sample name>.

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

Xác định thông tin dự án

Các chế độ cài đặt và tài nguyên của dự án sẽ xác định thông tin về dự án, chẳng hạn như khả năng hỗ trợ nền tảng và tính năng, ngôn ngữ được hỗ trợ, tên hiển thị, nội dung mô tả, biểu trưng, v.v. Bảng sau đây mô tả các chế độ cài đặt và tài nguyên chính mà bạn cung cấp. Actions on Google sử dụng thông tin này để triển khai và phát hành dự án của bạn lên thư mục Trợ lý.

Tên Nội dung mô tả
Thông tin trong thư mục Cung cấp thông tin để Actions on Google có thể xuất bản dự án của bạn lên thư mục Trợ lý. Bao gồm siêu dữ liệu và nội dung chỉ trích về dự án của bạn cũng như tài nguyên hình ảnh cho biểu trưng và ảnh biểu ngữ.
Nhắm mục tiêu theo vị trí Định cấu hình ngôn ngữ mà Hành động của bạn hỗ trợ.
Chức năng của nền tảng Định cấu hình các nền tảng mà Hành động của bạn có sẵn trên đó.
Thông tin chi tiết về công ty Chỉ định thông tin liên hệ cho công ty của bạn.
Xác minh thương hiệu Kết nối một trang web hoặc ứng dụng Android mà bạn sở hữu để hưởng thêm các lợi ích như tên lệnh gọi và đường liên kết trang web dành riêng trong Hành động của bạn.
Bản phát hành Định cấu hình các bản phát hành thử nghiệm và phát hành công khai cho Hành động của bạn để thử nghiệm và sản xuất.
Đường liên kết đến Trợ lý Cho phép người dùng gọi ra Hành động từ các thuộc tính web của bạn.

Cách xác định thông tin dự án:

  1. Xác định chế độ cài đặt chung cho dự án Actions (Hành động) trong sdk/settings/settings.yaml. Xem tài liệu tham khảo về Cài đặt để biết các giá trị được hỗ trợ.

    Đoạn mã sau đây cho thấy một tệp sdk/settings/settings.yaml mẫu:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. Xác định các chế độ cài đặt có thể thay đổi tuỳ theo ngôn ngữ của người dùng (ví dụ: cụm từ gọi trong nhiều ngôn ngữ) trong tệp sdk/settings/<locale>/settings.yaml, thay thế locale bằng ngôn ngữ đích.

    Hãy xem tài liệu tham khảo LocalizedSettings (Bản địa hoá) để biết các giá trị được hỗ trợ.

    Đoạn mã sau đây là ví dụ về các chế độ cài đặt tiếng Anh được xác định trong tệp sdk/settings/en/settings.yaml:

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

Thêm tài nguyên

Bạn có thể lưu trữ các tài nguyên như tệp hình ảnh, tệp âm thanh và chuỗi trong dự án Actions (Hành động), đồng thời tham chiếu đến các tài nguyên đó từ các tệp cấu hình (ví dụ: các điều kiện hoặc định nghĩa lời nhắc) bằng cách sử dụng biến $resources do hệ thống xác định.

Tài nguyên dự án được lưu trữ trong resources/ và mỗi loại tài nguyên được gán một thư mục trong thư mục.

Bạn có thể bản địa hoá tài nguyên bằng cách tạo các thư mục dành riêng cho từng ngôn ngữ trong thư mục loại tài nguyên. Ví dụ: bạn có thể lưu trữ phiên bản tiếng Tây Ban Nha của các chuỗi trong resources/strings/es/<filename>.yaml.

Hình ảnh

Các tệp hình ảnh được lưu trữ trong resources/images/ và bạn có thể tham chiếu đến các tệp này bằng $resources.images.<name of the image file without file extension>. Các đuôi tệp được phép là:

  • gif
  • png
  • jpg
  • jpeg

Ví dụ: nếu phiên bản tiếng Anh của biểu trưng nhỏ được lưu vào resources/images/en/square.png và phiên bản tiếng Anh của biểu ngữ lớn lần lượt được lưu trong resources/images/en/landscape.jpg, thì sdk/settings/en/settings.yaml trong ví dụ trước sẽ trở thành:

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

Tệp âm thanh

Các tệp âm thanh được lưu trữ trong resources/audio/ và bạn có thể tham chiếu đến các tệp này bằng $resources.audio.<name of the audio file without file extension>.

Các đuôi tệp được phép là:

  • mp3
  • mpeg

Ví dụ: Bạn có thể tham chiếu đến bản ghi âm trong câu lệnh:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

Chuỗi

Các chuỗi được lưu trữ trong resources/strings/ dưới dạng tệp .yaml. Mỗi tệp chứa bản đồ các khoá chuỗi và giá trị liên quan, có thể là chuỗi đơn hoặc danh sách các chuỗi. Bạn có thể tham chiếu các giá trị bằng cách sử dụng $resources.strings.<name of the image file without file extension>.<key> cho các giá trị chuỗi đơn hoặc để nhận giá trị ngẫu nhiên từ một danh sách và $resources.strings.<name of the image file without file extension>.<key>.<numerical index> cho một giá trị chuỗi cụ thể trong một danh sách.

Ví dụ: khi sử dụng chuỗi tài nguyên để bản địa hoá chuỗi, sdk/settings/en/settings.yaml trong ví dụ trước có thể trở thành:

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

Kiểm thử dự án trong trình mô phỏng

Bảng điều khiển Actions cung cấp một trình mô phỏng để xem trước các Hành động của bạn. Trình mô phỏng cho phép bạn xem thông tin gỡ lỗi, đặt các chức năng của thiết bị, mô phỏng ngôn ngữ, v.v.

Hình 3. Các khu vực chính của trình mô phỏng: (1) hoạt động đầu vào của người dùng, (2) chế độ xem thiết bị, (3) tuỳ chọn và chế độ cài đặt, và (4) nhật ký trò chuyện.

Cách kiểm thử một dự án:

  1. Chạy gactions deploy preview để triển khai Hành động của bạn thành "xem trước" và bật tính năng kiểm thử trong trình mô phỏng.
  2. Mở URL trong kết quả của lệnh để truy cập vào Trình mô phỏng.
$ 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