動作專案會將所有動作封裝至單一容器。個人中心 將這項專案發布到 Actions on Google,讓 Google 助理瞭解如何探索 並體驗你的對話式服務
您可以使用下列低階元件建構動作專案:
設定和資源 - 定義專案中繼資料 以及專案圖示等資源Google 會使用這些資訊發布 將動作套用至 Google 助理目錄,方便使用者探索及叫用 具體做法是指示 Kubernetes 建立並維護 一或多個代表這些 Pod 的物件
意圖代表要執行的工作,例如 使用者輸入內容或需要處理的系統事件最常見的是 要採用的意圖是使用者意圖這些意圖可讓您宣告 由 NLU (自然語言理解) 自然延伸的詞組 加入更多類似的詞組NLU 使用 這些詞組即可訓練 Google 助理用來比對使用者的語言模型 。在對話期間,若部分使用者輸入內容與意圖的語言相符 Google 助理執行階段會將意圖傳送至您的動作, 並回覆使用者
類型可讓您從使用者輸入內容中擷取結構化資料。變更者: 為訓練詞組加上類型註解,NLU 可從中擷取相關且結構化的 因此您不必剖析開放式輸入。
Scenes 會處理意圖,是 你的動作。例如運算單元填充、評估條件邏輯、傳回 提示,甚至是呼叫外部網路服務來執行 商業邏輯場景搭配意圖是絕佳的 偵測特定使用者輸入內容或系統事件,並執行相應的 邏輯。
提示會定義靜態或動態回應, 回覆使用者
Webhook 可讓您將額外工作委派給網路服務 (執行要求),例如驗證資料或產生提示。您的動作 透過基於 JSON 的 Webhook 通訊協定與執行要求通訊。
互動式畫布:可讓您建立豐富內容 透過採用 HTML、CSS 和 JavaScript 的網頁應用程式,打造身歷其境的體驗。
建立專案
請先在 Actions 控制台建立專案,才能進行開發 「Google 助理」。建立專案:
- 前往動作控制台。
- 按一下 [新專案]。
- 輸入專案名稱,然後按一下「建立專案」。
- 在「您想建構哪種動作?」畫面中,選取 選擇最能代表專案的類別,然後點選「Next」(下一步)。
- 在「How you want to build it」畫面中,選擇建構方式 然後點選「開始建構」。舉例來說,您可以先從一個空白欄位 或樣本
建立本機 Actions SDK 專案
在 Actions 主控台建立 Actions 專案後,即可 在本機開發環境中初始化專案。
如要從現有的 Actions 專案初始化 Actions SDK 專案,請按照下列步驟操作: 步驟如下:
- 在本機檔案系統中為 Actions 專案建立空白目錄。
- 在這個空白目錄中,建立
sdk
目錄。 - 將工作目錄變更為終端機的
sdk
目錄。
從空白專案開始
如要從剛在控制台中建立的空白專案開始建立專案,
執行 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
從範例專案開始
如要從範例專案開始,請執行 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.
定義專案資訊
專案的設定和資源會定義專案相關資訊,例如 特色和途徑支援、支援的語言代碼、顯示名稱、說明 標誌等文字下表說明主要設定和資源 資源Actions on Google 會使用這個 以將專案部署並發布至 Google 助理 目錄。
名稱 | 說明 |
---|---|
目錄資訊 | 提供資訊,讓 Actions on Google 能夠發布 複製到 Google 助理目錄包含中繼資料和說明 。 |
指定地區 | 設定動作可使用的語言代碼。 |
途徑功能 | 設定可使用動作的介面。 |
公司詳細資料 | 指定貴公司的聯絡資訊。 |
品牌驗證 | 連結您擁有的網站或 Android 應用程式,即可享有額外福利 ,例如保留的叫用名稱和動作中的網站連結。 |
釋出 | 為您的動作設定不同的測試和正式版。 進行測試和正式版。 |
Google 助理連結 | 允許使用者從網站資源叫用你的動作。 |
如何定義專案資訊:
為「
sdk/settings/settings.yaml
」中的動作專案定義全域設定。 請參閱設定參考資料 支援值的說明文件。以下程式碼片段為
sdk/settings/settings.yaml
檔案範例:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
定義可能因使用者的語言代碼而改變的設定 (例如, 不同語言的叫用詞組) 來初始化
sdk/settings/<locale>/settings.yaml
檔案、 將語言代碼替換成您的目標語言代碼。請參閱 LocalizedSettings 支援值的參考說明文件。
以下程式碼片段為
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 ...
新增資源
您可以將圖片檔、音訊檔案和字串等資源儲存在
動作專案並從設定檔參照這些項目 (例如
定義或條件) 使用系統定義的 $resources
變數。
專案資源會儲存在 resources/
下,而每個資源類型
因此會為目錄指派一個資料夾
您可以在資源中建立特定語言代碼的資料夾,將資源本地化
類型資料夾,例如您可以將西班牙文版本的字串儲存在
resources/strings/es/<filename>.yaml
。
圖片
圖片檔會儲存在「resources/images/
」中,你可以參照這些檔案
$resources.images.<name of the image file without file extension>
。
允許的副檔名如下:
gif
png
jpg
jpeg
舉例來說,如果將英文版小標誌儲存
resources/images/en/square.png
,大型橫幅的英文版本為
分別儲存在 resources/images/en/landscape.jpg
中
上一個範例中的 sdk/settings/en/settings.yaml
會變成:
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 ...
音訊檔案
音訊檔案儲存在「resources/audio/
」中,你可以參照這些檔案
$resources.audio.<name of the audio file without file extension>
。
允許的副檔名如下:
mp3
mpeg
舉例來說,您可以參照提示中的音訊錄音:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
字串
字串會以 .yaml
檔案格式儲存在 resources/strings/
中。每個檔案都包含
字串鍵和相關值的對應,可以是單一字串或清單
字串。您可以使用
$resources.strings.<name of the image file without file extension>.<key>
或從清單中取得隨機值,以及
$resources.strings.<name of the image file without file extension>.<key>.<numerical index>
的特定字串值。
例如,使用資源字串本地化字串
上一個範例中的 sdk/settings/en/settings.yaml
可能會變成:
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 ...
模擬工具中的測試專案
Actions 主控台會提供模擬工具,讓您預覽動作的實際效果。 模擬工具可讓您查看偵錯資訊、設定裝置功能、模擬 語言代碼等等
測試專案的步驟如下:
- 執行
gactions deploy preview
,將動作部署至「預覽」並啟用 進行測試。 - 開啟指令輸出內容中的網址,以存取模擬器。
$ 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