- JSON 表現
- ConfigFiles
- ConfigFile
- マニフェスト
- アクション
- CustomAction
- エンゲージメント
- PushNotification
- DailyUpdate
- ActionLink
- AssistantLink
- 設定
- カテゴリ
- SurfaceRequirements
- CapabilityRequirement
- SurfaceCapability
- LocalizedSettings
- ThemeCustomization
- ImageCornerStyle
- AccountLinking
- LinkingType
- AuthGrantType
- Webhook
- ハンドラ
- HttpsEndpoint
- InlineCloudFunction
- インテント
- IntentParameter
- ClassReference
- EntitySetReferences
- EntitySetReference
- タイプ
- SynonymType
- MatchType
- Entity
- EntityDisplay
- RegularExpressionType
- Entity
- FreeTextType
- EntitySet
- Entity
- GlobalIntentEvent
- EventHandler
- StaticPrompt
- StaticPromptCandidate
- セレクタ
- SurfaceCapabilities
- 機能
- StaticPromptResponse
- StaticSimplePrompt
- バリアント
- StaticContentPrompt
- StaticCardPrompt
- StaticImagePrompt
- ImageFill
- StaticLinkPrompt
- OpenUrl
- UrlHint
- StaticTablePrompt
- TableColumn
- HorizontalAlignment
- TableRow
- TableCell
- StaticMediaPrompt
- MediaType
- OptionalMediaControls
- MediaObject
- MediaImage
- RepeatMode
- StaticListPrompt
- ListItem
- StaticCollectionPrompt
- CollectionItem
- StaticCollectionBrowsePrompt
- CollectionBrowseItem
- 候補
- StaticCanvasPrompt
- シーン
- IntentEvent
- ConditionalEvent
- スロット
- PromptSettings
- CommitBehavior
- DefaultValue
- DataFiles
- DataFile
ファイルリストのラッパー。
JSON 表現 | |
---|---|
{ // Union field |
フィールド | ||
---|---|---|
共用体フィールド file_type 。サーバーには一度に 1 種類のファイル(構成ファイルまたはデータファイル)のみを送信できます。file_type は次のいずれかになります。 |
||
configFiles |
構成ファイルのリスト。これには、マニフェスト、設定、インタラクション モデルのリソース バンドルなどが含まれます。 |
|
dataFiles |
データファイルのリスト。これには、画像、音声ファイル、Cloud Functions の関数のソースコードが含まれます。 |
ConfigFiles
繰り返される構成ファイルのラッパー。oneof に繰り返しフィールドを含めることはできません。
JSON 表現 | |
---|---|
{
"configFiles": [
{
object ( |
フィールド | |
---|---|
configFiles[] |
複数の構成ファイル。 |
ConfigFile
構造化データを含む単一のファイルを表します。デベロッパーは、Actions、Settings、Fulfillment などの構造化構成を使用して、プロジェクトのほとんどを定義できます。
JSON 表現 | |
---|---|
{ "filePath": string, // Union field |
フィールド | ||
---|---|---|
filePath |
SDK ファイル構造内のプロジェクト ルートからの構成ファイルの相対パス。以下の各ファイル形式には、使用できるファイルパスがあります。例: settings/settings.yaml |
|
共用体フィールド file 。oneof には、各タイプの構成ファイルに対応するフィールドが必要です。file は次のいずれかになります。 |
||
manifest |
単一のマニフェスト ファイル。許可されたファイルパス: |
|
actions |
すべてのアクションが定義された単一のアクション ファイル。使用できるファイルパス: |
|
settings |
ローカライズできない設定と、プロジェクトのデフォルト ロケールの設定(指定されている場合)を含む単一の設定構成。ロケール オーバーライド ファイルの場合は、localizedSettings フィールドのみが設定されます。許可されるファイルパス: |
|
webhook |
単一の Webhook 定義。許可されたファイルパス: |
|
intent |
単一のインテントの定義。使用できるファイルパス: |
|
type |
単一のタイプの定義。使用できるファイルパス: |
|
entitySet |
単一のエンティティ セットの定義。使用できるファイルパス: |
|
globalIntentEvent |
単一のグローバル インテント イベントの定義。使用できるファイルパス: |
|
scene |
単一シーンの定義。使用できるファイルパス: |
|
staticPrompt |
単一の静的プロンプト定義。使用できるファイルパス: |
|
accountLinkingSecret |
アカウントのリンクで使用されるクライアント シークレットに対応するメタデータ。許可されたファイルパス: |
|
resourceBundle |
単一のリソース バンドル。文字列から文字列または文字列のリストへのマップです。リソース バンドルを使用すると、静的プロンプトで文字列をローカライズできます。使用できるファイルパス: |
マニフェスト
「移動可能」な情報(特定のプロジェクトに固有ではなく、プロジェクト間で移動できる情報)。
JSON 表現 | |
---|---|
{ "version": string } |
フィールド | |
---|---|
version |
ファイル形式のバージョン。現在のファイル形式バージョンは 1.0 です(例: 「1.0」)。 |
アクション
プロジェクトで定義されているアクションのリストを表します。
JSON 表現 | |
---|---|
{
"custom": {
string: {
object ( |
フィールド | |
---|---|
custom |
インテントからカスタム アクションをマッピングして、プロジェクトの呼び出しを構成します。呼び出しインテントは、「custom/intents/」パッケージで定義されたシステム インテントまたはカスタム インテントのいずれかです。ここで定義するすべてのインテント(システム インテントとカスタム インテント)は、対応するインテント ファイルを「custom/global/」パッケージに格納する必要があります。
|
CustomAction
カスタム操作に関する詳細。
JSON 表現 | |
---|---|
{
"engagement": {
object ( |
フィールド | |
---|---|
engagement |
エンドユーザーがプッシュ通知や日次更新を受け取るのに役立つ、アクションに関連するエンゲージメントのメカニズム。毎日の更新/プッシュ通知のスロット構成で指定されたインテント名が、エンドユーザーがこれらの更新に登録するためには、このアクションに対応するインテントと一致している必要があります。 |
エンゲージメント
このアクションに関連するエンゲージメント メカニズムを定義します。これにより、エンドユーザーはプッシュ通知と日次更新に登録できます。
JSON 表現 | |
---|---|
{ "title": string, "pushNotification": { object ( |
フィールド | |
---|---|
title |
最新情報を受け取る許可を求めるエンドユーザーに送信されるエンゲージメントのタイトル。エンドユーザーに送信されるプロンプトは、「毎日の {title}」を、いつ送信しますか。プッシュ通知の場合は「{title} のプッシュ通知を送信しても大丈夫ですか?」のように表示されます。このフィールドはローカライズ可能です。 |
pushNotification |
このエンゲージメントでサポートされているプッシュ通知の設定。 |
actionLink |
アクションのリンク構成。アクションでリンクの共有が有効かどうかを決定します。有効な場合は、リンクのユーザー フレンドリーな表示名が含まれます。ActionLink が非推奨になりました。代わりに AssistantLink を使用してください。 |
assistantLink |
アクションのリンク構成。アクションでリンクの共有が有効かどうかを決定します。有効な場合は、リンクのユーザー フレンドリーな表示名が含まれます。 |
dailyUpdate |
このエンゲージメントでサポートされている日次更新の設定。 |
PushNotification
このエンゲージメントがサポートするプッシュ通知設定を定義します。
DailyUpdate
このエンゲージメントがサポートする日次更新の設定を定義します。
ActionLink
このアクションとそれに対応する設定でリンクの共有が有効かどうかを示します。アクション リンクは、ディープリンクによってユーザーを特定のアクションに誘導するために使用されます。ActionLink が非推奨になりました。代わりに AssistantLink を使用してください。
JSON 表現 | |
---|---|
{ "title": string } |
フィールド | |
---|---|
title |
リンクのユーザー フレンドリーな表示タイトル。 |
AssistantLink
このアクションとそれに対応する設定でリンクの共有が有効かどうかを示します。アシスタント リンクは、ユーザーを特定のアクションにディープリンクするために使用されます。
JSON 表現 | |
---|---|
{ "title": string } |
フィールド | |
---|---|
title |
リンクのユーザー フレンドリーな表示タイトル。 |
設定
ロケール固有でない Actions プロジェクトの設定を表します。次のタグ: 22
JSON 表現 | |
---|---|
{ "projectId": string, "defaultLocale": string, "enabledRegions": [ string ], "disabledRegions": [ string ], "category": enum ( |
フィールド | |
---|---|
projectId |
Actions プロジェクト ID。 |
defaultLocale |
プロジェクトのデフォルトのロケール。パスにロケールが指定されていない |
enabledRegions[] |
ユーザーの所在地に基づいて、ユーザーがアクションを呼び出せる地域を表します。 |
disabledRegions[] |
ユーザーの所在地に基づいて、アクションがブロックされている地域を表します。 |
category |
このアクション プロジェクトのカテゴリ。 |
usesTransactionsApi |
アクションがトランザクション(予約や注文など)を使用できるかどうかを指定します。false の場合、Transactions API の使用は失敗します。 |
usesDigitalPurchaseApi |
アクションがデジタル商品のトランザクションを実行できるかどうか。 |
usesInteractiveCanvas |
アクションが Interactive Canvas を使用するかどうかを指定します。 |
usesHomeStorage |
アクションがホーム ストレージ機能を使用するかどうかを指定します。 |
designedForFamily |
アクション コンテンツがファミリー向け(DFF)にデザインされているかどうか。 |
containsAlcoholOrTobaccoContent |
アクションにアルコールやタバコに関連するコンテンツが含まれているかどうか。 |
keepsMicOpen |
会話中に、明示的なプロンプトを表示せずにアクションでマイクを開いたままにできるかどうか。 |
surfaceRequirements |
このプロジェクトでアクションを呼び出すためにクライアント サーフェスがサポートする必要があるサーフェス要件。 |
testingInstructions |
アクションの審査担当者向けの自由形式のテスト手順(アカウントのリンクの手順など)。 |
localizedSettings |
プロジェクトのデフォルトのロケールに合わせてローカライズされた設定。追加するすべての言語 / 地域ごとに、独自のディレクトリに独自の設定ファイルが必要です。 |
accountLinking |
ユーザーが Google ログインや独自の OAuth サービスを使ってアカウントを作成またはリンクできるようにします。 |
selectedAndroidApps[] |
Google Play で取引を行うために選択された Android アプリ。これは、ブランド所有権を確認し、追加機能を有効にするために、アクション プロジェクトに接続されている Android アプリからの選択です。詳しくは、https://developers.google.com/assistant/console/brand-verification をご覧ください。 |
カテゴリ
Actions プロジェクトのカテゴリの選択。
列挙型 | |
---|---|
CATEGORY_UNSPECIFIED |
不明 / 指定なし。 |
BUSINESS_AND_FINANCE |
ビジネスと金融のカテゴリ。 |
EDUCATION_AND_REFERENCE |
教育とリファレンスのカテゴリ。 |
FOOD_AND_DRINK |
フード、ドリンクのカテゴリ。 |
GAMES_AND_TRIVIA |
ゲーム、雑学のカテゴリ。 |
HEALTH_AND_FITNESS |
健康とフィットネスのカテゴリ。 |
KIDS_AND_FAMILY |
キッズ&ファミリーのカテゴリ。 |
LIFESTYLE |
ライフスタイル カテゴリ。 |
LOCAL |
ローカル カテゴリ。 |
MOVIES_AND_TV |
映画とテレビ番組のカテゴリ。 |
MUSIC_AND_AUDIO |
音楽とオーディオのカテゴリ。 |
NEWS |
ニュース カテゴリ, |
NOVELTY_AND_HUMOR |
ノベルティとユーモアのカテゴリ。 |
PRODUCTIVITY |
生産性カテゴリ。 |
SHOPPING |
ショッピング カテゴリ。 |
SOCIAL |
ソーシャル カテゴリ。 |
SPORTS |
スポーツ カテゴリ。 |
TRAVEL_AND_TRANSPORTATION |
旅行、交通のカテゴリ。 |
UTILITIES |
ユーティリティのカテゴリ。 |
WEATHER |
気象カテゴリ。 |
HOME_CONTROL |
スマートホーム カテゴリ。 |
SurfaceRequirements
クライアント サーフェスがプロジェクトでアクションを呼び出すためにサポートする必要がある一連の要件が含まれています。
JSON 表現 | |
---|---|
{
"minimumRequirements": [
{
object ( |
フィールド | |
---|---|
minimumRequirements[] |
プロジェクト内のアクションを呼び出すために必要な最小限の機能セット。これらのいずれかがないと、アクションはトリガーされません。 |
CapabilityRequirement
特定の機能の可用性に関する要件を表します。
JSON 表現 | |
---|---|
{
"capability": enum ( |
フィールド | |
---|---|
capability |
機能のタイプ。 |
SurfaceCapability
使用可能なサーフェス機能のセット。
列挙型 | |
---|---|
SURFACE_CAPABILITY_UNSPECIFIED |
不明 / 指定なし。 |
AUDIO_OUTPUT |
サーフェスは音声出力をサポートしています。 |
SCREEN_OUTPUT |
サーフェスは画面/視覚的出力をサポートします。 |
MEDIA_RESPONSE_AUDIO |
サーフェスはメディア レスポンスの音声をサポートしています。 |
WEB_BROWSER |
Surface はウェブブラウザをサポートしています。 |
ACCOUNT_LINKING |
サーフェスはアカウントのリンクをサポートしています。 |
INTERACTIVE_CANVAS |
Surface はインタラクティブ キャンバスをサポートしています。 |
HOME_STORAGE |
Surface はホーム ストレージをサポートしています。 |
LocalizedSettings
ユーザー ロケールに固有の Actions プロジェクトの設定を表します。ここでいうユーザーとは、アクションを呼び出すエンドユーザーのことです。このメッセージはローカライズ可能です。
JSON 表現 | |
---|---|
{
"displayName": string,
"pronunciation": string,
"shortDescription": string,
"fullDescription": string,
"smallLogoImage": string,
"largeBannerImage": string,
"developerName": string,
"developerEmail": string,
"termsOfServiceUrl": string,
"voice": string,
"voiceLocale": string,
"privacyPolicyUrl": string,
"sampleInvocations": [
string
],
"themeCustomization": {
object ( |
フィールド | |
---|---|
displayName |
必須。このアクション プロジェクトのデフォルトの表示名(翻訳がない場合) |
pronunciation |
必須。音声(発話)コンテキスト内で表示する表示名の発音。 |
shortDescription |
必須。Actions プロジェクトのデフォルトの簡単な説明(翻訳がない場合)。最大 80 文字。 |
fullDescription |
必須。Actions プロジェクトのデフォルトの詳しい説明(利用可能な翻訳がない場合)。最大 4,000 文字。 |
smallLogoImage |
必須。192 × 192 ピクセルの正方形の画像。これは、 |
largeBannerImage |
(省略可)大きい横長の画像、1,920 x 1,080 ピクセル。これは、 |
developerName |
必須。ユーザーに表示するデベロッパーの名前。 |
developerEmail |
必須。デベロッパーの連絡先メールアドレス。 |
termsOfServiceUrl |
(省略可)利用規約の URL。 |
voice |
必須。ユーザーがアクションを操作したときに読み上げられる Google アシスタントの音声タイプ。サポートされている値は、「male_1」、「male_2」、「female_1」、「female_2」です。 |
voiceLocale |
(省略可)指定した音声のロケール。指定しない場合、ユーザーのアシスタントの言語 / 地域に解決されます。指定する場合、音声ロケールは LocalizedSettings で指定されたロケールと同じルート言語である必要があります。 |
privacyPolicyUrl |
必須。プライバシー ポリシーの URL。 |
sampleInvocations[] |
(省略可)アシスタント ディレクトリに Actions プロジェクトの説明の一部として表示されるサンプル呼び出しフレーズ。使い方を知ることができます。 |
themeCustomization |
(省略可)アクションのビジュアル コンポーネントのテーマのカスタマイズ。 |
ThemeCustomization
ユーザーに表示されるカードに適用されるスタイル
JSON 表現 | |
---|---|
{
"backgroundColor": string,
"primaryColor": string,
"fontFamily": string,
"imageCornerStyle": enum ( |
フィールド | |
---|---|
backgroundColor |
カードの背景色。 |
primaryColor |
アクションのメインテーマの色は、タイトルのテキストの色と Actions on Google カードのアクション アイテムの背景色の設定に使用されます。使用例: #FAFAFA |
fontFamily |
カードのタイトルに使用されるフォント ファミリー。サポートされるフォント: - Sans Serif - Sans Serif 中 - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed - Serif - Serif Bold - Monospace - 手書きメモ - Sans |
imageCornerStyle |
カードの前景画像の枠線のスタイル。たとえば、ベーシック カードやカルーセル カードのフォアグラウンド画像に適用できます。 |
landscapeBackgroundImage |
横表示(最小 1,920 x 1,200 ピクセル)。これは、 |
portraitBackgroundImage |
ポートレート モード(最小 1,200 x 1,920 ピクセル)。これは、 |
ImageCornerStyle
画像の境界をどのようにレンダリングするかを記述します。
列挙型 | |
---|---|
IMAGE_CORNER_STYLE_UNSPECIFIED |
未定義 / 指定なし。 |
CURVED |
画像では角を丸くします。 |
ANGLED |
画像の角が長方形です。 |
AccountLinking
AccountLinking により、Google はユーザーがアプリのウェブサービスにログインできるようになります。
Google ログインと OAuth + Google ログインのリンクタイプの場合、Google はアプリを識別するクライアント ID(コンソール UI で「Google がアクションに対して発行したクライアント ID」)を生成します。このフィールドは読み取り専用で、コンソール UI の [アカウント リンク] ページで確認できます。https://developers.google.com/assistant/identity/google-sign-in をご覧ください。
注: すべてのアカウントのリンク設定タイプ(Google ログインを除く)で、審査チームがアプリを審査できるように Settings.testing_instructions でテスト アカウントのユーザー名とパスワードを入力する必要があります(ユーザーには表示されません)。
JSON 表現 | |
---|---|
{ "enableAccountCreation": boolean, "linkingType": enum ( |
フィールド | |
---|---|
enableAccountCreation |
必須。 |
linkingType |
必須。使用するリンクタイプ。リンクの種類について詳しくは、https://developers.google.com/assistant/identity をご覧ください。 |
authGrantType |
(省略可)OAuth LinkingType の認証タイプを示します。 |
appClientId |
(省略可)アプリから Google に発行されたクライアント ID。サービスに対して Google を識別する OAuth2 クライアント ID です。OAuth を使用する場合にのみ設定します。 |
authorizationUrl |
(省略可)OAuth2 コードまたは暗黙的フローをサポートするログイン ウェブページのエンドポイント。URL では HTTPS を使用する必要があります。OAuth を使用する場合にのみ設定します。 |
tokenUrl |
(省略可)トークン交換用の OAuth2 エンドポイント。URL では HTTPS を使用する必要があります。リンクタイプとして IMPLICIT 権限付与がある OAuth のみを使用する場合には設定されません。OAuth を使用する場合にのみ設定します。 |
scopes[] |
(省略可)サービスを使用するためにユーザーが同意する必要がある権限のリスト。OAuth を使用する場合にのみ設定します。このフィールドを指定する場合は、LocalizedSettings.terms_of_service_url セクションのディレクトリ情報で利用規約を指定してください。 |
learnMoreUrl |
(省略可)これは、ユーザーが Google に付与する権限を記述するサービスのウェブページです。OAuth と Google ログインを使用する場合にのみ設定します。このフィールドを指定する場合は、LocalizedSettings.terms_of_service_url セクションのディレクトリ情報で利用規約を指定してください。 |
useBasicAuthHeader |
(省略可)true の場合、Google が HTTP 基本認証ヘッダーを介してクライアント ID とシークレットを送信することを許可します。それ以外の場合、Google は POST 本文内でクライアント ID とシークレットを使用します。OAuth を使用する場合にのみ設定します。このフィールドを指定する場合は、LocalizedSettings.terms_of_service_url セクションのディレクトリ情報で利用規約を指定してください。 |
LinkingType
実行するアカウント リンクの種類。
列挙型 | |
---|---|
LINKING_TYPE_UNSPECIFIED |
(指定なし) |
GOOGLE_SIGN_IN |
Google ログインのリンクタイプ。このリンクタイプを使用する場合、OAuth 関連のフィールドを以下に設定する必要はありません。 |
OAUTH_AND_GOOGLE_SIGN_IN |
OAuth と Google ログインのリンクタイプ。 |
OAUTH |
OAuth リンクタイプ。 |
AuthGrantType
Google がユーザーをアプリのウェブサービスにログインさせるために使用する OAuth2 権限付与タイプ。
列挙型 | |
---|---|
AUTH_GRANT_TYPE_UNSPECIFIED |
(指定なし) |
AUTH_CODE |
認証コードの権限付与。認証 URL とアクセス トークン URL の両方を指定する必要があります。 |
IMPLICIT |
暗黙的なコード付与。指定する必要があるのは認証 URL のみです。 |
Webhook
さまざまな種類の Webhook のメタデータ。inlineCloudFunction
を使用している場合、ソースコードは executeFunction
キーの値と同じ名前のディレクトリに配置する必要があります。たとえば、executeFunction
キーの値が my_webhook
の場合は、次のようなコード構造になります。- /webhooks/my_webhook.yaml
- /webhooks/my_webhook/index.js
- /webhooks/my_webhook/package.json
JSON 表現 | |
---|---|
{ "handlers": [ { object ( |
フィールド | ||
---|---|---|
handlers[] |
この Webhook のハンドラのリスト。 |
|
共用体フィールド webhook_type 。サポートされている Webhook タイプは 1 つのみです。webhook_type は次のいずれかになります。 |
||
httpsEndpoint |
カスタム Webhook HTTPS エンドポイント。 |
|
inlineCloudFunction |
Webhook フォルダ内のコードからデプロイされた Cloud Functions の関数のメタデータ。 |
Handler
webhoook ハンドラの名前を宣言します。1 つの Webhook に複数のハンドラを登録できます。これらのハンドラは、Actions プロジェクトの複数の場所から呼び出すことができます。
JSON 表現 | |
---|---|
{ "name": string } |
フィールド | |
---|---|
name |
必須。ハンドラの名前。Actions プロジェクトのすべてのハンドラで一意である必要があります。このハンドラの名前を確認することで、フルフィルメントのソースコード内で正しい関数を呼び出すことができます。 |
HttpsEndpoint
インライン エディタを使用していない場合に通知する REST エンドポイント。
JSON 表現 | |
---|---|
{ "baseUrl": string, "httpHeaders": { string: string, ... }, "endpointApiVersion": integer } |
フィールド | |
---|---|
baseUrl |
フルフィルメント エンドポイントの HTTPS ベース URL(HTTP はサポートされていません)。ハンドラ名は、ベース URL パスのコロンの後に追加されます(https://cloud.google.com/apis/design/custom_methods) のスタイルガイドに従います)。たとえば、ベース URL「https://gactions.service.com/api」は、URL「https://gactions.service.com/api:{method}」のリクエストを受信します。 |
httpHeaders |
POST リクエストに含まれる HTTP パラメータのマップ。
|
endpointApiVersion |
エンドポイントで使用されるプロトコルのバージョン。これはすべてのフルフィルメント タイプで共有されるプロトコルで、Google フルフィルメント タイプに固有のものではありません。 |
InlineCloudFunction
Webhook フォルダからデプロイされたインライン Cloud Functions の関数のメタデータを保持します。
JSON 表現 | |
---|---|
{ "executeFunction": string } |
フィールド | |
---|---|
executeFunction |
Cloud Functions のエントリ ポイントの名前。このフィールドの値は、ソースコードからエクスポートされたメソッドの名前と一致する必要があります。 |
インテント
インテントは、自由形式のユーザー入力を構造化オブジェクトにマッピングします。発話されたフレーズは、Google の自然言語理解(NLU)によってインテントと照合されます。インテントの一致は、会話デザインのイベントをトリガーして、ユーザーの会話を進めることができます。インテント名はファイルの名前で指定されます。
JSON 表現 | |
---|---|
{
"parameters": [
{
object ( |
フィールド | |
---|---|
parameters[] |
トレーニング フレーズ内のパラメータのリスト。トレーニング フレーズで使用するすべてのパラメータをここで定義する必要があります。 |
trainingPhrases[] |
トレーニング フレーズにより、Google の NLU はインテントとユーザー入力を自動的に照合できます。提供されるフレーズのバリエーションが多いほど、このインテントが一致する可能性が高くなります。アノテーションが付けられたトレーニング フレーズのパートの形式は次のとおりです。なお、 |
IntentParameter
トレーニング フレーズ内で使用できるパラメータの定義。
JSON 表現 | |
---|---|
{ "name": string, // Union field |
フィールド | ||
---|---|---|
name |
必須。インテント パラメータの一意の名前。条件やレスポンスで使用して、$intent.params.[name].resolved を持つ NLU によって抽出されたインテント パラメータを参照できる |
|
共用体フィールド parameter_type 。インテント パラメータの型。parameter_type は次のいずれかになります。 |
||
type |
(省略可)このパラメータのデータ型を宣言します。組み込みインテントには設定しないでください。 |
|
entitySetReferences |
(省略可)このインテント パラメータで許可されるエンティティ セットへの参照。組み込みインテントのパラメータに対してのみ有効です。これらの参照は、「custom/entitySets」ディレクトリ内のエンティティ セットを参照します。 |
ClassReference
フィールドの型または戻り値の型を宣言するために使用されるクラスへの参照。列挙型は、ClassReference を使用して参照できるクラスの一種でもあります。
JSON 表現 | |
---|---|
{ "name": string, "list": boolean } |
フィールド | |
---|---|
name |
必須。パラメータの組み込みタイプまたはカスタムタイプの名前。例: |
list |
(省略可)データ型が値のリストを表すかどうかを示します。 |
EntitySetReferences
インテント パラメータのエンティティ セット参照です。
JSON 表現 | |
---|---|
{
"entitySetReferences": [
{
object ( |
フィールド | |
---|---|
entitySetReferences[] |
必須。インテント パラメータのエンティティ セット参照です。 |
EntitySetReference
このインテント パラメータで許可されるエンティティ セットへの参照。
JSON 表現 | |
---|---|
{ "entitySet": string } |
フィールド | |
---|---|
entitySet |
必須。特定のパラメータに対して考慮すべきエンティティの特定のコレクションを識別します。対応するエンティティ セットの定義が custom/entitySets/ ディレクトリに存在する必要があります。 |
種類
組み込みの型ではなく、カスタム型の宣言。タイプは、シーン内のスロットや、インテントのトレーニング フレーズのパラメータに割り当てることができます。実質的には、型は列挙型と考えることができます。タイプ名はファイル名で指定します。
JSON 表現 | |
---|---|
{ "exclusions": [ string ], // Union field |
フィールド | ||
---|---|---|
exclusions[] |
タイプ別に一致しない、例外的な単語やフレーズのセット。注: 単語/フレーズがタイプで一致したものの、除外としてリストされている場合、その語句はパラメータ抽出結果で返されません。このフィールドはローカライズ可能です。 |
|
共用体フィールド sub_type 。実行するマッチングのタイプに基づいたサブタイプの選択。sub_type は次のいずれかになります。 |
||
synonym |
類義語型。基本的には列挙型です。 |
|
regularExpression |
正規表現タイプ。正規表現一致を許可します。 |
|
freeText |
FreeText 型。 |
SynonymType
類義語のセットでテキストに一致する型。
JSON 表現 | |
---|---|
{ "matchType": enum ( |
フィールド | |
---|---|
matchType |
(省略可)類義語のマッチタイプ。 |
acceptUnknownValues |
(省略可)true に設定すると、周辺の入力やインテント トレーニング データ(食料品リストに追加される可能性のあるアイテムなど)に基づいて、不明な単語やフレーズが照合されます。 |
entities |
必須。類義語エンティティの名前付きマップ。
|
MatchType
このタイプのエントリが使用するマッチングのタイプ。これにより、すべての型で同じマッチング方法が使用されるようになり、類義語のマッチングにバリエーションを持たせることができます(ファジーと完全一致など)。値が UNSPECIFIED
の場合、デフォルトは EXACT_MATCH
です。
列挙型 | |
---|---|
UNSPECIFIED |
デフォルトは EXACT_MATCH です。 |
EXACT_MATCH |
類義語または名前と完全に一致するものを検索します。 |
FUZZY_MATCH |
EXACT_MATCH より大きい。完全一致と完全一致を探します。 |
エンティティ
タイプ内の単一エントリの詳細を含む類義語エンティティ フィールドを表します。
JSON 表現 | |
---|---|
{
"display": {
object ( |
フィールド | |
---|---|
display |
(省略可)エンティティの表示詳細です。 |
synonyms[] |
(省略可)エンティティの類義語のリスト。このフィールドはローカライズ可能です。 |
EntityDisplay
特定のタイプのエンティティがクエリから抽出されると、キャンバスに表示される要素。キャンバス対応アプリにのみ該当します。このメッセージはローカライズ可能です。
JSON 表現 | |
---|---|
{ "iconTitle": string, "iconUrl": string } |
フィールド | |
---|---|
iconTitle |
(省略可)アイコンのタイトル。 |
iconUrl |
必須。アイコンの URL。 |
RegularExpressionType
正規表現でテキストに一致する型です。このメッセージはローカライズ可能です。
JSON 表現 | |
---|---|
{
"entities": {
string: {
object ( |
フィールド | |
---|---|
entities |
必須。それぞれ正規表現文字列を含むエンティティの名前付きマップ。
|
エンティティ
比較に使用する正規表現を含むエンティティ オブジェクトを表します。
JSON 表現 | |
---|---|
{
"display": {
object ( |
フィールド | |
---|---|
display |
(省略可)クエリからエンティティが抽出されるとキャンバスに表示される要素。キャンバス対応アプリにのみ該当します。 |
regularExpressions[] |
必須。RE2 正規表現の構文を使用します(詳しくは https://github.com/google/re2/wiki/Syntax をご覧ください)。 |
FreeTextType
周囲の単語のコンテキストが提供されたトレーニング サンプルに近い場合に、任意のテキストに一致する型。
JSON 表現 | |
---|---|
{
"display": {
object ( |
フィールド | |
---|---|
display |
(省略可)クエリからエンティティが抽出されるとキャンバスに表示される要素。キャンバス対応アプリにのみ該当します。 |
EntitySet
エンティティ セットは、組み込みインテント パラメータの値を取得できる、事前定義されたエンティティのセットを記述したものです。エンティティ セットは、組み込みインテント パラメータの entitySet から参照できます。
JSON 表現 | |
---|---|
{
"entities": [
{
object ( |
フィールド | |
---|---|
entities[] |
必須。このエンティティ セットがサポートするエンティティのリスト。 |
エンティティ
組み込みインテントのパラメータ値はエンティティから取得されます。
JSON 表現 | |
---|---|
{ "id": string } |
フィールド | |
---|---|
id |
必須。エンティティの ID。組み込みインテントのパラメータとサポートされるエンティティのリストについては、https://developers.google.com/assistant/conversational/build/built-in-intents をご覧ください。 |
GlobalIntentEvent
グローバル インテント ハンドラを定義します。グローバル インテント イベントのスコープはアクション プロジェクト全体であり、シーン内のインテント ハンドラによってオーバーライドされる場合があります。インテント名は、Actions プロジェクト内で一意である必要があります。
グローバル インテントはセッション中にいつでも照合できるため、ユーザーは「助けを求める」や「ホームに戻る」などの一般的なフローにアクセスできます。また、ユーザーがアクションを呼び出したときに、ユーザーを特定のフローにディープリンクするためにも使用できます。
インテント名はファイルの名前で指定されます。
JSON 表現 | |
---|---|
{
"transitionToScene": string,
"handler": {
object ( |
フィールド | |
---|---|
transitionToScene |
(省略可)会話のジャンプ先となるデスティネーション シーン。現在のシーンの状態は、遷移時に破棄されます。 |
handler |
(省略可)インテントが一致したときにトリガーされるイベント ハンドラ。移動先のシーンに移行する前に実行する必要があります。イベントに応じてプロンプトを生成する場合に役立ちます。 |
EventHandler
イベント後に実行するハンドラを定義します。イベントの例としては、シーンにおけるインテント / 条件ベースのイベントがあります。
JSON 表現 | |
---|---|
{ "webhookHandler": string, // Union field |
フィールド | ||
---|---|---|
webhookHandler |
呼び出す Webhook ハンドラの名前。 |
|
共用体フィールド prompt 。プロンプトはインライン化するか、名前で参照できます。prompt は次のいずれかになります。 |
||
staticPrompt |
インライン化された静的プロンプトバンドル内の文字列リソースへの参照を含めることができます。 |
|
staticPromptName |
呼び出す静的プロンプトの名前。 |
StaticPrompt
プロンプト候補のリストを表します。この候補のうち 1 つが、ユーザーへのレスポンスで表示されるプロンプトとして選択されます。このメッセージはローカライズ可能です。
JSON 表現 | |
---|---|
{
"candidates": [
{
object ( |
フィールド | |
---|---|
candidates[] |
クライアントに送信されるプロンプト候補のリスト。各プロンプトには、いつ使用できるかを決定するセレクタがあります。リクエストに一致した最初のセレクタが送信され、残りは無視されます。 |
StaticPromptCandidate
静的プロンプト候補を表します。
JSON 表現 | |
---|---|
{ "selector": { object ( |
フィールド | |
---|---|
selector |
(省略可)このプロンプトがリクエストと一致するかどうかの基準。セレクタが空の場合、このプロンプトは常にトリガーされます。 |
promptResponse |
セレクタに関連付けられているプロンプト レスポンス。 |
セレクタ
プロンプトがリクエストに一致するかどうかの基準を定義します。
JSON 表現 | |
---|---|
{
"surfaceCapabilities": {
object ( |
フィールド | |
---|---|
surfaceCapabilities |
必要なサーフェス機能のセット。 |
SurfaceCapabilities
ユーザーがアクションにリクエストを行うために使用しているサーフェスを表します。
JSON 表現 | |
---|---|
{
"capabilities": [
enum ( |
フィールド | |
---|---|
capabilities[] |
必須。アクションにリクエストを行うサーフェスの機能。 |
可能な操作
リクエスト時にデバイス サーフェスがサポートする機能。
列挙型 | |
---|---|
UNSPECIFIED |
未指定のサーフェス機能。 |
SPEECH |
デバイスがテキスト読み上げまたは SSML を介してユーザーに話しかけることができます。 |
RICH_RESPONSE |
デバイスで、カード、リスト、表などのリッチ レスポンスを表示できます。 |
LONG_FORM_AUDIO |
デバイスで、音楽やポッドキャストなどの長時間の音声メディアを再生できます。 |
INTERACTIVE_CANVAS |
デバイスがインタラクティブなキャンバス レスポンスを表示できる。 |
WEB_LINK |
デバイスは、リッチ レスポンスでウェブリンクを使用してウェブブラウザを開くことができます。 |
HOME_STORAGE |
デバイスが家のストレージの保存と取得をサポートできます。 |
StaticPromptResponse
テキスト、音声、カード、キャンバス データ、候補ワードなど、ユーザーに送信する構造化されたレスポンスを表します。
JSON 表現 | |
---|---|
{ "firstSimple": { object ( |
フィールド | |
---|---|
firstSimple |
(省略可)最初の音声とテキストのみのレスポンス。 |
content |
(省略可)ユーザーに表示するカード、リスト、メディアなどのコンテンツ。 |
lastSimple |
(省略可)最後の音声とテキストのみのレスポンス。 |
suggestions[] |
(省略可)ユーザーに表示される候補。レスポンスの最後に常に表示されます。含まれるプロンプトの |
link |
(省略可)関連するアプリまたはサイトにリンクできる追加の候補ワード。チップは「Open」というタイトルでレンダリングされます。 |
override |
(省略可)このメッセージを、以前に定義されたメッセージと統合する方法のモード。 |
canvas |
インタラクティブなキャンバス エクスペリエンスに使用されるレスポンス。 |
StaticSimplePrompt
ユーザーに送信するシンプルなプロンプトを表します。
JSON 表現 | |
---|---|
{
"variants": [
{
object ( |
フィールド | |
---|---|
variants[] |
可能性のあるバリアントのリスト。 |
バリアント
単純なプロンプトの一部であるバリアントを表します。
JSON 表現 | |
---|---|
{ "speech": string, "text": string } |
フィールド | |
---|---|
speech |
(省略可)ユーザーに向けて読み上げられる音声を表します。SSML またはテキスト読み上げが可能です。デフォルトでは、音声は前のシンプルなプロンプトの音声に追加されます。含まれるプロンプトの |
text |
(省略可)チャットのふきだしに表示するテキスト。指定しない場合、上記の音声フィールドの表示レンダリングが使用されます。最大 640 文字です。デフォルトでは、テキストは前のシンプルなプロンプトのテキストに付加されます。含まれるプロンプトの |
StaticContentPrompt
StaticPrompt のコンテンツ部分のプレースホルダ。
JSON 表現 | |
---|---|
{ // Union field |
フィールド | ||
---|---|---|
共用体フィールド content 。プロンプトに含めることができるコンテンツは 1 種類のみです。content は次のいずれかになります。 |
||
card |
ベーシック カード。 |
|
image |
画像。 |
|
table |
テーブルカード。 |
|
media |
再生するメディアのセットを示すレスポンス。 |
|
list |
選択可能なオプションのリストを提示するカード。 |
|
collection |
選択可能なオプションのリストを示すカード。 |
|
collectionBrowse |
開くウェブページのコレクションを提示するカード。 |
StaticCardPrompt
画像やテキストなどの情報を表示するための基本的なカード。
JSON 表現 | |
---|---|
{ "title": string, "subtitle": string, "text": string, "image": { object ( |
フィールド | |
---|---|
title |
(省略可)カードの全体的なタイトル。 |
subtitle |
(省略可)カードのサブタイトル。 |
text |
必須。カードの本文。画像が存在しない場合に必要です。書式設定のために限定されたマークダウン構文をサポートします。 |
image |
(省略可)カードのヒーロー画像。高さは 192 dp に固定されています。 |
imageFill |
(省略可)画像の背景の塗りつぶし方法。 |
button |
(省略可)カードに表示されるクリック可能なボタン。 |
StaticImagePrompt
カードに表示される画像。
JSON 表現 | |
---|---|
{ "url": string, "alt": string, "height": integer, "width": integer } |
フィールド | |
---|---|
url |
必須。画像のソース URL。JPG、PNG、GIF(アニメーション GIF と非アニメーション GIF)を使用できます。例: |
alt |
必須。スクリーン リーダーなどのユーザー補助機能で使用する、画像の説明のテキスト。 |
height |
(省略可)画像の高さ(ピクセル単位)。 |
width |
(省略可)画像の幅(ピクセル単位)。 |
ImageFill
画像の表示に影響を与える有効な画像表示オプション。これは画像のアスペクト比が画像コンテナのアスペクト比と一致しない場合に使用されます。
列挙型 | |
---|---|
UNSPECIFIED |
ImageFill が指定されていません。 |
GRAY |
画像と画像コンテナの隙間を灰色のバーで埋めます。 |
WHITE |
画像と画像コンテナの隙間を白いバーで埋めます。 |
CROPPED |
画像の幅と高さがコンテナの寸法と一致またはそれを超えるように画像が拡大縮小されます。拡大縮小された画像の高さがコンテナの高さより大きい場合、画像の上下が切り取られることがあります。拡大縮小された画像の幅がコンテナの幅より大きい場合、画像の左右が切り取られることがあります。これはワイド画面のテレビでアスペクト比 4:3 の動画を再生するときの「ズームモード」に似ています。 |
StaticLinkPrompt
候補ワードとして表示される、ユーザーが開くことができるリンクを定義します。
JSON 表現 | |
---|---|
{
"name": string,
"open": {
object ( |
フィールド | |
---|---|
name |
リンクの名前 |
open |
ユーザーがリンクを開いたときの動作を定義します。 |
OpenUrl
ユーザーがリンクを開いたときの動作を定義します。
JSON 表現 | |
---|---|
{
"url": string,
"hint": enum ( |
フィールド | |
---|---|
url |
url フィールドでは、次のいずれかを指定できます。- アプリとリンクしたアプリまたはウェブページを開くための http または https の URL |
hint |
URL タイプのヒントを示します。 |
UrlHint
URL ヒントのタイプ。
列挙型 | |
---|---|
HINT_UNSPECIFIED |
指定なし |
AMP |
AMP コンテンツを直接指す URL、または <link rel="amphtml"> を介して AMP コンテンツを参照する正規 URL を指す URL。 |
StaticTablePrompt
テキストの表を表示するためのカード。
JSON 表現 | |
---|---|
{ "title": string, "subtitle": string, "image": { object ( |
フィールド | |
---|---|
title |
(省略可)テーブルの全体的なタイトル。サブタイトルが設定されている場合に設定する必要があります。 |
subtitle |
(省略可)テーブルのサブタイトル。 |
image |
(省略可)テーブルに関連付けられている画像。 |
columns[] |
(省略可)ヘッダーと列の配置。 |
rows[] |
(省略可)テーブルの行データ。最初の 3 行は表示されることが保証されますが、その他の行はサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどの行が表示されるかをシミュレータでテストしてください。 |
button |
(省略可)ボタン。 |
TableColumn
テーブル内の列を表します。
JSON 表現 | |
---|---|
{
"header": string,
"align": enum ( |
フィールド | |
---|---|
header |
列のヘッダー テキスト。 |
align |
列に対するコンテンツの水平方向の配置。省略した場合、内容は前端に揃えられます。 |
HorizontalAlignment
セル内での内容の配置。
列挙型 | |
---|---|
UNSPECIFIED |
HorizontalAlignment が指定されていません。 |
LEADING |
セルの前端。これがデフォルトです。 |
CENTER |
内容は列の中央に揃えられます。 |
TRAILING |
内容は列の後端に揃えられます。 |
TableRow
表の行を記述します。
JSON 表現 | |
---|---|
{
"cells": [
{
object ( |
フィールド | |
---|---|
cells[] |
この行のセル。最初の 3 つのセルは表示されることが保証されますが、その他のセルはサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどのセルが表示されるかをシミュレータでテストしてください。 |
divider |
各行の後に分割線を配置するかどうかを示します。 |
TableCell
行のセルを記述します。
JSON 表現 | |
---|---|
{ "text": string } |
フィールド | |
---|---|
text |
セルのテキスト コンテンツ。 |
StaticMediaPrompt
名前、説明、URL などのメディアに関する情報が含まれます。次の ID: 11
JSON 表現 | |
---|---|
{ "mediaType": enum ( |
フィールド | |
---|---|
mediaType |
このレスポンスのメディアタイプ。 |
startOffset |
最初のメディア オブジェクトの開始オフセット。 小数点以下 9 桁まで、「 |
optionalMediaControls[] |
このメディア レスポンス セッションがサポートするオプションのメディア コントロール タイプ。設定すると、特定のメディア イベントが発生したときにサードパーティにリクエストが送信されます。設定しない場合、3p は引き続き 2 つのデフォルトのコントロール タイプ(FINISHED と FAILED)を処理する必要があります。 |
mediaObjects[] |
メディア オブジェクトのリスト。 |
repeatMode |
メディア オブジェクト リストの繰り返しモード。 |
MediaType
このレスポンスのメディアタイプ。
列挙型 | |
---|---|
MEDIA_TYPE_UNSPECIFIED |
UNSPECIFIED の値 |
AUDIO |
音声ファイル。 |
MEDIA_STATUS_ACK |
メディア ステータス レポートの確認応答。 |
OptionalMediaControls
メディア レスポンスがオプションでサポートできるメディア コントロール タイプ
列挙型 | |
---|---|
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED |
値が指定されていません |
PAUSED |
一時停止したイベント。ユーザーがメディアを一時停止したときにトリガーされます。 |
STOPPED |
停止したイベント。メディアの再生中にユーザーがサードパーティ セッションを終了するとトリガーされます。 |
MediaObject
単一のメディア オブジェクトを表します。
JSON 表現 | |
---|---|
{
"name": string,
"description": string,
"url": string,
"image": {
object ( |
フィールド | |
---|---|
name |
このメディア オブジェクトの名前。 |
description |
このメディア オブジェクトの説明。 |
url |
メディア コンテンツを指す URL。 |
image |
メディアカードとともに表示する画像。 |
MediaImage
MediaPrompt 内に表示される画像。
JSON 表現 | |
---|---|
{ // Union field |
フィールド | ||
---|---|---|
共用体フィールド image 。使用できる MediaImage は 1 種類のみです。image は次のいずれかになります。 |
||
large |
アルバムのカバーなど、大きな画像 |
|
icon |
タイトルの右側に表示される小さな画像アイコン。36×36 dp にサイズ変更されます。 |
RepeatMode
メディア オブジェクトのリストで使用する繰り返しモードの種類です。
列挙型 | |
---|---|
REPEAT_MODE_UNSPECIFIED |
OFF と同じです。 |
OFF |
最後のメディア オブジェクトの最後でメディア セッションを終了します。 |
ALL |
最後のメディア オブジェクトの最後に到達したときに、最初のメディア オブジェクトの先頭までループする。 |
StaticListPrompt
選択可能なオプションのリストを提示するカード。
JSON 表現 | |
---|---|
{
"title": string,
"subtitle": string,
"items": [
{
object ( |
フィールド | |
---|---|
title |
(省略可)リストのタイトル。 |
subtitle |
(省略可)リストのサブタイトル。 |
items[] |
必須。リストアイテム。 |
ListItem
リスト内の項目。
JSON 表現 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
フィールド | |
---|---|
key |
必須。関連するタイプのエントリキー名と一致する NLU キー。アイテムがタップされると、このキーが選択オプション パラメータとしてポストバックされます。 |
title |
必須。商品アイテムのタイトル。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。各タイトルはアイテムのセットの中で一意である必要があります。 |
description |
(省略可)商品アイテムの本文。 |
image |
(省略可)項目の画像。 |
StaticCollectionPrompt
選択可能なオプションのコレクションを提示するカード。
JSON 表現 | |
---|---|
{ "title": string, "subtitle": string, "items": [ { object ( |
フィールド | |
---|---|
title |
(省略可)コレクションのタイトル。 |
subtitle |
(省略可)コレクションのサブタイトル。 |
items[] |
必須。コレクション アイテム。 |
imageFill |
(省略可)画像表示オプションのタイプ。 |
CollectionItem
コレクション内のアイテム。
JSON 表現 | |
---|---|
{
"key": string,
"title": string,
"description": string,
"image": {
object ( |
フィールド | |
---|---|
key |
必須。関連するタイプのエントリキー名と一致する NLU キー。アイテムがタップされると、このキーが選択オプション パラメータとしてポストバックされます。 |
title |
必須。商品アイテムのタイトル。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。各タイトルはアイテムのセットの中で一意である必要があります。 |
description |
(省略可)商品アイテムの本文。 |
image |
(省略可)項目の画像。 |
StaticCollectionBrowsePrompt
一連のウェブ ドキュメントを大きなタイル アイテムのコレクションとして提示します。アイテムを選択して、関連するウェブ ドキュメントをウェブビューアで起動できます。
JSON 表現 | |
---|---|
{ "items": [ { object ( |
フィールド | |
---|---|
items[] |
ブラウズ コレクション内のアイテム。リストのサイズは [2, 10] の範囲で指定してください。 |
imageFill |
コレクションの画像表示オプション。 |
CollectionBrowseItem
コレクション内の項目。
JSON 表現 | |
---|---|
{ "title": string, "description": string, "footer": string, "image": { object ( |
フィールド | |
---|---|
title |
必須。コレクション アイテムのタイトル。 |
description |
コレクション アイテムの説明。 |
footer |
説明の下に表示されるコレクション アイテムのフッター テキスト。1 行のテキスト(省略記号で切り捨てられます)。 |
image |
コレクション アイテムの画像。 |
openUriAction |
必須。アイテムが選択されている場合に開く URI。 |
アドバイス
サジェスチョン チップ(利便性のためにユーザーに表示される UI 要素)を表します。
JSON 表現 | |
---|---|
{ "title": string } |
フィールド | |
---|---|
title |
必須。候補ワードに表示されるテキスト。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。一連の候補ワードの間でタイトルが重複していてはなりません。最大 25 文字 |
StaticCanvasPrompt
ユーザーに送信するインタラクティブ キャンバスのレスポンスを表します。これは、インタラクティブなキャンバス レスポンスを表示するだけでなく、ユーザーに話しかけるために、含まれるプロンプトの firstSimple
フィールドと組み合わせて使用できます。
JSON 表現 | |
---|---|
{ "url": string, "data": [ value ], "suppressMic": boolean, "sendStateDataToCanvasApp": boolean, "enableFullScreen": boolean } |
フィールド | |
---|---|
url |
必須。読み込むウェブビューの URL。 |
data[] |
(省略可)没入型エクスペリエンスのウェブページにイベントとして渡される JSON データ。含まれているプロンプトの |
suppressMic |
(省略可)値を true に設定した場合、この没入感のある応答がユーザーに表示された後、入力をキャプチャするためにマイクが開かれません。 |
sendStateDataToCanvasApp |
(省略可) |
enableFullScreen |
(省略可) |
シーン
シーンは、会話を設計する際の制御フローの基本単位です。他のシーンとつなげたり、エンドユーザー向けのプロンプトを生成したり、スロットを定義したりすることができます。シーン名はファイルの名前で指定します。
JSON 表現 | |
---|---|
{ "onEnter": { object ( |
フィールド | |
---|---|
onEnter |
このシーンに遷移するときに呼び出すハンドラ。 |
intentEvents[] |
インテントに基づいてトリガーされるイベントのリスト。これらのイベントは、on_load ハンドラが呼び出された後、いつでもトリガーできます。重要 - これらのイベントは、このシーンをスコープとするインテントのセットを定義します。また、これらのイベントは、同じインテントまたはトリガー フレーズを持つグローバルに定義されたイベントよりも優先されます。インテント名はシーン内で一意である必要があります。 |
conditionalEvents[] |
条件ステートメントに基づいてトリガーするイベントのリスト。これらは、フォームへの入力後、またはこのシーンにフォームがない場合は on_load の直後に評価されます(評価は 1 回だけ行われます)。最初に一致したイベントのみがトリガーされます。 |
slots[] |
スロットの順序付きリスト。各スロットで解決するデータのタイプと、その解決(プロンプトなど)のエクスペリエンスをカスタマイズするための設定を定義します。 |
onSlotUpdated |
別の Handler 内の更新以外に起因するスロットの状態の変化があったときに呼び出されるハンドラ。これにより、スロットの無効化、シーンの無効化など、シーン状態の変更が可能になります。 |
IntentEvent
インテントの一致の結果としてトリガーされるイベントを登録します。
JSON 表現 | |
---|---|
{
"intent": string,
"transitionToScene": string,
"handler": {
object ( |
フィールド | |
---|---|
intent |
必須。イベントをトリガーするインテント。 |
transitionToScene |
(省略可)会話のジャンプ先となるデスティネーション シーン。現在のシーンの状態は、遷移時に破棄されます。 |
handler |
(省略可)インテントが一致したときにトリガーされるイベント ハンドラ。移動先のシーンに移行する前に実行する必要があります。イベントに対するプロンプトを生成する場合に役立つ |
ConditionalEvent
true 条件の結果としてトリガーされるイベントを登録します。
JSON 表現 | |
---|---|
{
"condition": string,
"transitionToScene": string,
"handler": {
object ( |
フィールド | |
---|---|
condition |
必須。このイベントをトリガーするフィルタ条件。条件が true と評価されると、関連する |
transitionToScene |
(省略可)関連付けられた条件が true と評価されたときに会話がジャンプする宛先シーン。現在のシーンの状態は、遷移時に破棄されます。 |
handler |
(省略可)関連付けられた条件が |
スロット
スロットの構成。スロットは、自然言語(インテント パラメータ)、セッション パラメータ、その他のソースを通じて入力できる単一のデータ単位です。
JSON 表現 | |
---|---|
{ "name": string, "type": { object ( |
フィールド | |
---|---|
name |
必須。スロットの名前。 |
type |
必須。このスロットのデータ型を宣言します。 |
required |
(省略可)次に進む前にスロットを埋める必要があるかどうかを示します。必須の時間枠が埋まっていない場合は、カスタマイズ可能なプロンプトがユーザーに表示されます。 |
promptSettings |
(省略可)スロットフィルのさまざまなステージに対応するプロンプトを登録します。 |
commitBehavior |
(省略可)スロットに関連付けられた commit 動作。 |
config |
(省略可)スロットを埋めるために使用される、スロットに関連付けられた追加の設定。構成の形式は、スロットのタイプに固有のものです。ユーザー パラメータまたはセッション パラメータへのリソース参照をこの構成に追加できます。この構成ファイルは、トランザクションとユーザー エンゲージメントに関連するスロットを埋めるために必要です。 例: actions.type.CompletePurchaseValue タイプのスロットの場合、次の構成では、クライアント定義のセッション パラメータ { "@type": "type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec", "skuId": { "skuType": "SKU_TYPE_IN_APP", "id": "$session.params.userSelectedSkuId", "packageName": "com.example.company" } } |
defaultValue |
(省略可)このスロットのデフォルト値を入力するための設定。 |
PromptSettings
スロット プロンプトを 1 か所で定義する。
JSON 表現 | |
---|---|
{ "initialPrompt": { object ( |
フィールド | |
---|---|
initialPrompt |
スロット値自体のプロンプト。例: 「どのサイズをご希望ですか?」 |
noMatchPrompt1 |
初回は、ユーザーの入力がスロットに想定される値のタイプと一致しないときに表示されるプロンプト。例: 「聞き取れませんでした。」 |
noMatchPrompt2 |
ユーザーの入力が 2 回目のスロットに想定される値のタイプと一致しない場合に表示されるプロンプト。例: 「聞き取れませんでした。」 |
noMatchFinalPrompt |
ユーザーの入力が、前回スロットに想定される値のタイプと一致しない場合に表示されるプロンプト。例: 「聞き取れませんでした。」 |
noInputPrompt1 |
ユーザーが初めて入力を行わないときに表示されるプロンプト。例: 「聞き取れませんでした。」 |
noInputPrompt2 |
ユーザーが 2 度目に入力しなかった場合に表示されるプロンプト。例: 「聞き取れませんでした。」 |
noInputFinalPrompt |
ユーザーが前回入力を行わなかったときに表示されるプロンプト。例: 「聞き取れませんでした。」 |
CommitBehavior
スロットが正常に埋められた後の、スロットに関連付けられた commit 動作を説明するメッセージ。
JSON 表現 | |
---|---|
{ "writeSessionParam": string } |
フィールド | |
---|---|
writeSessionParam |
スロット値が入力された後にスロット値を書き込むセッション パラメータ。ネストされたパスは現在サポートされていません。「$$」は、スロットと同じ名前のセッション パラメータにスロット値を書き込むために使用されます。例: writeSessionParam = "fruit" は "$session.params.fruit" に対応し、writeSessionParam = "ticket" は "$session.params.ticket" に対応します。 |
DefaultValue
このスロットのデフォルト値を入力するための設定。
JSON 表現 | |
---|---|
{ "sessionParam": string, "constant": value } |
フィールド | |
---|---|
sessionParam |
(省略可)空でない場合、スロット値の初期化に使用されるセッション パラメータ。値のタイプはスロットのタイプと一致する必要があります。ネストされたパスは現在サポートされていません。たとえば、 |
constant |
(省略可)スロットの定数デフォルト値。これは、このスロットの値が |
DataFiles
繰り返しデータファイルのラッパー。oneof に繰り返しフィールドを含めることはできません。
JSON 表現 | |
---|---|
{
"dataFiles": [
{
object ( |
フィールド | |
---|---|
dataFiles[] |
複数のデータファイル。 |
DataFile
非構造化データを含む単一のファイルを表します。たとえば、画像ファイル、音声ファイル、Cloud Functions の関数のソースコードなどです。
JSON 表現 | |
---|---|
{ "filePath": string, "contentType": string, "payload": string } |
フィールド | |
---|---|
filePath |
SDK ファイル構造内のプロジェクト ルートからのデータファイルの相対パス。使用できるファイルパス: - 画像: |
contentType |
必須。このアセットのコンテンツ タイプ。例: |
payload |
データファイルの内容。たとえば、画像、音声ファイル、Cloud Functions の ZIP 形式の RAW バイトなどです。ペイロード サイズには 10 MB の厳格な上限があります。 Base64 でエンコードされた文字列。 |