Files

ファイルのリストのラッパー。

JSON 表現
{

  // Union field file_type can be only one of the following:
  "configFiles": {
    object (ConfigFiles)
  },
  "dataFiles": {
    object (DataFiles)
  }
  // End of list of possible types for union field file_type.
}
フィールド
共用体フィールド file_type。サーバーに送信できるファイルは、構成ファイルかデータファイルのうち 1 種類のみです。file_type は次のいずれかになります。
configFiles

object (ConfigFiles)

構成ファイルのリスト。これには、マニフェスト、設定、インタラクション モデルのリソース バンドルなどが含まれます。

dataFiles

object (DataFiles)

データファイルのリスト。これには、画像、音声ファイル、Cloud Functions の関数のソースコードが含まれます。

ConfigFiles

繰り返し構成ファイルのラッパー。oneof に繰り返しフィールドを含めることはできません。

JSON 表現
{
  "configFiles": [
    {
      object (ConfigFile)
    }
  ]
}
フィールド
configFiles[]

object (ConfigFile)

複数の構成ファイル。

ConfigFile

構造化データを含む単一のファイルを表します。デベロッパーは、Actions、Settings、Fulfillment など、構造化された構成を使用してプロジェクトのほとんどの部分を定義できます。

JSON 表現
{
  "filePath": string,

  // Union field file can be only one of the following:
  "manifest": {
    object (Manifest)
  },
  "actions": {
    object (Actions)
  },
  "settings": {
    object (Settings)
  },
  "webhook": {
    object (Webhook)
  },
  "intent": {
    object (Intent)
  },
  "type": {
    object (Type)
  },
  "entitySet": {
    object (EntitySet)
  },
  "globalIntentEvent": {
    object (GlobalIntentEvent)
  },
  "scene": {
    object (Scene)
  },
  "staticPrompt": {
    object (StaticPrompt)
  },
  "accountLinkingSecret": {
    object (AccountLinkingSecret)
  },
  "resourceBundle": {
    object
  }
  // End of list of possible types for union field file.
}
フィールド
filePath

string

SDK ファイル構造のプロジェクト ルートからの構成ファイルの相対パス。以下の各ファイル形式には、許可されるファイルパスがあります。例: settings/settings.yaml

共用体フィールド file。各タイプの構成ファイルには、oneof に対応するフィールドが必要です。file は次のいずれかになります。
manifest

object (Manifest)

単一のマニフェスト ファイル。許可されるファイルパス: manifest.yaml

actions

object (Actions)

すべてのアクションが定義された 1 つのアクション ファイル。許可されるファイルパス: actions/{language}?/actions.yaml

settings

object (Settings)

ローカライズできない設定と、プロジェクトのデフォルト ロケールの設定(指定されている場合)を含む単一の設定構成。言語 / 地域オーバーライド ファイルの場合は、localizedSettings フィールドのみに値が入力されます。許可されるファイルパス: settings/{language}?/settings.yaml ローカライズされていない設定ファイル settings/settings.yaml は、書き込みフロー リクエストに存在する必要があります。

webhook

object (Webhook)

単一の Webhook 定義。許可されるファイルパス: webhooks/{WebhookName}.yaml

intent

object (Intent)

単一のインテントの定義。許可されるファイルパス: custom/intents/{language}?/{IntentName}.yaml

type

object (Type)

単一型の定義。許可されるファイルパス: custom/types/{language}?/{TypeName}.yaml

entitySet

object (EntitySet)

単一エンティティ セットの定義。許可されるファイルパス: custom/entitySets/{language}?/{EntitySetName}.yaml

globalIntentEvent

object (GlobalIntentEvent)

単一のグローバル インテント イベントの定義。許可されるファイルパス: custom/global/{GlobalIntentEventName}.yaml ファイル名(GlobalIntentEventName)は、このグローバル インテント イベントに対応するインテントの名前にする必要があります。

scene

object (Scene)

1 つのシーンの定義。許可されるファイルパス: custom/scenes/{SceneName}.yaml

staticPrompt

object (StaticPrompt)

単一の静的プロンプトの定義。許可されるファイルパス: custom/prompts/{language}?/{StaticPromptName}.yaml

accountLinkingSecret

object (AccountLinkingSecret)

アカウントのリンクで使用されるクライアント シークレットに対応するメタデータ。許可されるファイルパス: settings/accountLinkingSecret.yaml

resourceBundle

object (Struct format)

単一のリソース バンドル。これは、文字列から文字列または文字列のリストへのマップです。リソース バンドルは、静的プロンプトの文字列をローカライズするために使用できます。許可されるファイルパス: resources/strings/{language}?/{multiple directories}?/{BundleName}.yaml

マニフェスト

「輸送可能」な情報が含まれているつまり、特定のプロジェクトに固有ではなく、プロジェクト間で移動できます。

JSON 表現
{
  "version": string
}
フィールド
version

string

ファイル形式のバージョン。ファイル形式の現在のバージョンは 1.0 です(例: 「1.0」)。

操作

プロジェクトで定義されているアクションのリストを表します。

JSON 表現
{
  "custom": {
    string: {
      object (CustomAction)
    },
    ...
  }
}
フィールド
custom

map (key: string, value: object (CustomAction))

インテントからカスタム アクションにマッピングして、プロジェクトの呼び出しを構成する呼び出しインテントは、"custom/intents/"パッケージ化されています。ここで定義するすべてのインテント(システム インテントとカスタム インテント)は、対応するインテント ファイルを「custom/global/」内に置く必要があります。パッケージ化されています。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

CustomAction

カスタム アクションに関する詳細。

JSON 表現
{
  "engagement": {
    object (Engagement)
  }
}
フィールド
engagement

object (Engagement)

アクションに関連付けられたエンゲージメント メカニズムで、エンドユーザーがプッシュ通知や毎日の更新に登録できるようになります。なお、毎日の通知/プッシュ通知のスロット構成で指定されたインテント名が、エンドユーザーがこれらの更新情報を受け取るためには、このアクションに対応するインテントと一致している必要があります。

エンゲージメント

このアクションに関連付けられたエンゲージメント メカニズムを定義します。これにより、エンドユーザーはプッシュ通知と毎日の通知に登録できます。

JSON 表現
{
  "title": string,
  "pushNotification": {
    object (PushNotification)
  },
  "actionLink": {
    object (ActionLink)
  },
  "assistantLink": {
    object (AssistantLink)
  },
  "dailyUpdate": {
    object (DailyUpdate)
  }
}
フィールド
title

string

更新情報の受信許可を求めるエンドユーザーに送信されるエンゲージメントのタイトル。毎日の更新情報に関してエンドユーザーに送信されるプロンプトは、「何時にご購読いただいていますか?」のようになります。プッシュ通知の場合は、「{title} のプッシュ通知を送信してもいいですか?」と表示されます。このフィールドはローカライズ可能です。

pushNotification

object (PushNotification)

このエンゲージメントでサポートされているプッシュ通知の設定。

dailyUpdate

object (DailyUpdate)

このエンゲージメントでサポートされている日次更新の設定。

PushNotification

このエンゲージメントがサポートするプッシュ通知設定を定義します。

DailyUpdate

このエンゲージメントがサポートする日次更新設定を定義します。

設定

ロケール固有ではない Actions プロジェクトの設定を表します。次のタグ: 22

JSON 表現
{
  "projectId": string,
  "defaultLocale": string,
  "enabledRegions": [
    string
  ],
  "disabledRegions": [
    string
  ],
  "category": enum (Category),
  "usesTransactionsApi": boolean,
  "usesDigitalPurchaseApi": boolean,
  "usesInteractiveCanvas": boolean,
  "usesHomeStorage": boolean,
  "designedForFamily": boolean,
  "containsAlcoholOrTobaccoContent": boolean,
  "keepsMicOpen": boolean,
  "surfaceRequirements": {
    object (SurfaceRequirements)
  },
  "testingInstructions": string,
  "localizedSettings": {
    object (LocalizedSettings)
  },
  "accountLinking": {
    object (AccountLinking)
  },
  "selectedAndroidApps": [
    string
  ]
}
フィールド
projectId

string

Actions プロジェクト ID。

defaultLocale

string

プロジェクトのデフォルトとなる言語 / 地域。パスに言語 / 地域がない resources/ の下にあるすべてのファイルについては、ローカライズされたデータはこの defaultLocale に関連付けられます。resources/ の下にあるファイルの場合、ロケールがない場合、リソースはすべてのロケールに適用されることを意味します。

enabledRegions[]

string

ユーザーの所在地に基づいて、ユーザーがアクションを呼び出せる地域を表します。disabledRegions が設定されている場合は設定できません。enabledRegionsdisabledRegions の両方が指定されていない場合、ユーザーはすべてのリージョンでアクションを呼び出すことができます。各地域は、AdWords の地域ターゲティングの正規名で表されます。詳しくは、https://developers.google.com/adwords/api/docs/appendix/geotargeting をご覧ください。例: 「Germany」- 「ガーナ」- "ギリシャ"- "グレナダ"- "イギリス"- "米国"- "合衆国領有小離島"- 「ウルグアイ」

disabledRegions[]

string

ユーザーの所在地に基づいてアクションがブロックされている地域を表します。enabledRegions が設定されている場合は設定できません。各地域は、AdWords の地域ターゲティングの正規名で表されます。詳しくは、https://developers.google.com/adwords/api/docs/appendix/geotargeting をご覧ください。例: 「Germany」- 「ガーナ」- "ギリシャ"- "グレナダ"- "イギリス"- "米国"- "合衆国領有小離島"- 「ウルグアイ」

category

enum (Category)

この Actions プロジェクトのカテゴリ。

usesTransactionsApi

boolean

アクションが取引を使用できるかどうか(予約や注文など)。false の場合、Transactions API の使用は失敗します。

usesDigitalPurchaseApi

boolean

アクションがデジタル商品の取引を実行できるかどうか。

usesInteractiveCanvas

boolean

アクションが Interactive Canvas を使用するかどうか。

usesHomeStorage

boolean

アクションでホーム ストレージ機能を使用するかどうか。

designedForFamily

boolean

アクション コンテンツがファミリー向け(DFF)かどうか。

containsAlcoholOrTobaccoContent

boolean

アクションにアルコールやタバコに関連するコンテンツが含まれているかどうか。

keepsMicOpen

boolean

会話中に明示的なプロンプトがない状態で、アクションがマイクを開いたままにできるかどうか。

surfaceRequirements

object (SurfaceRequirements)

このプロジェクトでアクションを呼び出すためにクライアント サーフェスがサポートする必要があるサーフェス要件。

testingInstructions

string

アクション審査担当者向けの自由形式のテスト手順(例: アカウントのリンク手順)。

localizedSettings

object (LocalizedSettings)

プロジェクトのデフォルト ロケールのローカライズされた設定。追加する言語 / 地域ごとに、それぞれのディレクトリに独自の設定ファイルが必要です。

accountLinking

object (AccountLinking)

ユーザーが Google ログインや独自の OAuth サービスを使用してアカウントを作成またはリンクできるようにします。

selectedAndroidApps[]

string

取引のために Google Play での購入にアクセスするよう選択された Android アプリ。これは、アクション プロジェクトに接続されている Android アプリから選択され、ブランドの所有権の確認や追加機能の有効化に使用します。詳しくは、https://developers.google.com/assistant/console/brand-verification をご覧ください。

カテゴリ

Actions プロジェクトのカテゴリの選択。

列挙型
CATEGORY_UNSPECIFIED 不明 / 不明。
BUSINESS_AND_FINANCE ビジネスと金融のカテゴリ。
EDUCATION_AND_REFERENCE 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 「Novelty and Humor」(目新しい、ユーモア)のカテゴリ。
PRODUCTIVITY 生産性のカテゴリ。
SHOPPING ショッピング カテゴリ
SOCIAL ソーシャル カテゴリです。
SPORTS スポーツ カテゴリです。
TRAVEL_AND_TRANSPORTATION カテゴリを選択します
UTILITIES ユーティリティのカテゴリ。
WEATHER 天気のカテゴリ。
HOME_CONTROL [スマートホーム] カテゴリ。

SurfaceRequirements

プロジェクトでアクションを呼び出すためにクライアント サーフェスがサポートする必要がある一連の要件が含まれています。

JSON 表現
{
  "minimumRequirements": [
    {
      object (CapabilityRequirement)
    }
  ]
}
フィールド
minimumRequirements[]

object (CapabilityRequirement)

プロジェクトでアクションを呼び出すために必要な最小限の機能セット。サーフェスにこれらのいずれかが欠けている場合、アクションはトリガーされません。

CapabilityRequirement

特定の機能の可用性に関する要件を表します。

JSON 表現
{
  "capability": enum (SurfaceCapability)
}
フィールド
capability

enum (SurfaceCapability)

機能のタイプ。

SurfaceCapability

サーフェス機能のセット。

列挙型
SURFACE_CAPABILITY_UNSPECIFIED 不明 / 不明。
AUDIO_OUTPUT Surface はオーディオ出力をサポートしています。
SCREEN_OUTPUT サーフェスは画面/視覚出力をサポートしています。
MEDIA_RESPONSE_AUDIO サーフェスはメディア応答音声をサポートしています。
WEB_BROWSER Surface はウェブブラウザをサポートしています。
ACCOUNT_LINKING サーフェスはアカウントのリンクをサポートしています。
INTERACTIVE_CANVAS サーフェスは Interactive Canvas をサポートしています。
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 (ThemeCustomization)
  }
}
フィールド
displayName

string

必須。このアクション プロジェクトのデフォルトの表示名(利用可能な翻訳がない場合)

pronunciation

string

必須。表示名の発音。音声コンテキストで呼び出します。

shortDescription

string

必須。アクション プロジェクトのデフォルトの簡単な説明(利用可能な翻訳がない場合)。半角 80 文字(全角 40 文字)以内。

fullDescription

string

必須。アクション プロジェクトのデフォルトの詳細な説明(利用可能な翻訳がない場合)。半角 4,000 文字(全角 2,000 文字)以内。

smallLogoImage

string

必須。192 × 192 ピクセルの正方形の画像。これは、resources/images/ ディレクトリ内の対応する画像への参照として指定する必要があります。たとえば、resources/images/foo.jpg のイメージに $resources.images.foo(拡張子なし)を指定します。コンソールから取得されたプロジェクトで作業する場合は、取得した Google が管理する URL を使用できます。外部ソースからの URL は許可されません。

largeBannerImage

string

省略可。1,920 x 1,080 ピクセルの大きな横長画像。これは、resources/images/ ディレクトリ内の対応する画像への参照として指定する必要があります。たとえば、resources/images/foo.jpg のイメージに $resources.images.foo(拡張子なし)を指定します。コンソールから取得されたプロジェクトで作業する場合は、取得した Google が管理する URL を使用できます。外部ソースからの URL は許可されません。

developerName

string

必須。ユーザーに表示されるデベロッパーの名前。

developerEmail

string

必須。デベロッパーの連絡先メールアドレス。

termsOfServiceUrl

string

省略可。利用規約の URL。

voice

string

必須。ユーザーがアクションを操作したときに再生される Google アシスタントの音声タイプ。サポートされている値は、「male_1」、「male_2」、「female_1」、「female_2」です。

voiceLocale

string

省略可。指定された音声の言語 / 地域。指定しない場合、ユーザーのアシスタントの言語 / 地域に解決されます。指定する場合、音声ロケールは LocalizedSettings で指定されたロケールと同じルート言語である必要があります。

privacyPolicyUrl

string

必須。プライバシー ポリシーの URL。

sampleInvocations[]

string

省略可。Assistant ディレクトリの Actions プロジェクトの説明の一部として表示される呼び出しフレーズの例。これにより、使い方を学ぶことができます。

themeCustomization

object (ThemeCustomization)

省略可。アクションのビジュアル コンポーネントのテーマのカスタマイズ。

ThemeCustomization

ユーザーに表示されるカードに適用されるスタイル

JSON 表現
{
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum (ImageCornerStyle),
  "landscapeBackgroundImage": string,
  "portraitBackgroundImage": string
}
フィールド
backgroundColor

string

カードの背景色。background_image がデベロッパーから提供されていない場合、または background_image が特定のサーフェスに適していない場合のフォールバックとして機能します。使用例: #FAFAFA

primaryColor

string

アクションのプライマリ テーマの色は、Actions on Google カードのタイトルのテキストの色とアクション アイテムの背景色を設定するために使用されます。使用例: #FAFAFA

fontFamily

string

カードのタイトルに使用されるフォント ファミリー。サポートされているフォント: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - 等幅 - 手書きメモ - Sans Serif

imageCornerStyle

enum (ImageCornerStyle)

カードの前景画像の枠線のスタイル。たとえば、ベーシック カードやカルーセル カードの前景画像に適用できます。

landscapeBackgroundImage

string

横表示(最小 1,920×1,200 ピクセル)。これは、resources/images/ ディレクトリ内の対応する画像への参照として指定する必要があります。例: resources/images/foo.jpg のイメージ用の $resources.images.foo(拡張機能なし)コンソールから pull したプロジェクトで作業する場合は、 pull された Google 管理 URL を使用できます。

portraitBackgroundImage

string

縦表示(最小 1,200 x 1,920 ピクセル)。これは、resources/images/ ディレクトリ内の対応する画像への参照として指定する必要があります。例: resources/images/foo.jpg のイメージ用の $resources.images.foo(拡張機能なし)コンソールから pull したプロジェクトで作業する場合は、 pull された Google 管理 URL を使用できます。

ImageCornerStyle

画像の枠線をどのようにレンダリングするかを記述します。

列挙型
IMAGE_CORNER_STYLE_UNSPECIFIED 未定義 / 未指定。
CURVED 画像の角。
ANGLED 画像の隅が長方形。

AccountLinking

AccountLinking によって、Google はユーザーにアプリのウェブサービスへのログインを案内できます。

Google ログインと OAuth + Google ログインのリンクタイプでは、Google に対してアプリを識別するクライアント ID が Google によって生成されます(コンソール UI では「Google がアクションに対して発行したクライアント ID」)。このフィールドは読み取り専用です。コンソール UI の [アカウントのリンク] ページで確認できます。参照: https://developers.google.com/assistant/identity/google-sign-in

注: すべてのアカウントのリンク設定タイプ(Google ログインを除く)について、Settings.testing_instructions でテスト アカウントのユーザー名とパスワードを提供し、審査チームがアプリを審査できるようにする必要があります(これらはユーザーには表示されません)。

JSON 表現
{
  "enableAccountCreation": boolean,
  "linkingType": enum (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
フィールド
enableAccountCreation

boolean

必須。true の場合、ユーザーは音声で新しいアカウントを登録できます。false の場合、アカウントの作成はウェブサイトでのみ許可されます。登録時に利用規約を表示するか、ユーザーの同意を得る場合は、このオプションを選択します。false の場合、LinkingType を GOOGLE_SIGN_IN にすることはできません。true の場合、LinkingType を OAUTH にすることはできません。

linkingType

enum (LinkingType)

必須。使用するリンクタイプ。リンクタイプについて詳しくは、https://developers.google.com/assistant/identity をご覧ください。

authGrantType

enum (AuthGrantType)

省略可。OAUTH linkingType の認証のタイプを示します。

appClientId

string

省略可。アプリが Google に発行したクライアント ID。サービスで Google を識別できる OAuth2 クライアント ID です。OAuth を使用する場合にのみ設定します。

authorizationUrl

string

省略可。OAuth2 コードまたは暗黙的フローをサポートするログイン ウェブページのエンドポイント。URL には HTTPS を使用する必要があります。OAuth を使用する場合にのみ設定します。

tokenUrl

string

省略可。トークン交換用の OAuth2 エンドポイント。URL には HTTPS を使用する必要があります。リンクタイプとして IMPLICIT 権限付与がある OAuth のみを使用する場合、これは設定されません。OAuth を使用する場合にのみ設定します。

scopes[]

string

省略可。サービスを使用するためにユーザーが同意する必要がある権限のリスト。OAuth を使用する場合にのみ設定します。このフィールドを指定する場合は、LocalizedSettings.terms_of_service_url セクションのディレクトリ情報に利用規約を入力してください。

learnMoreUrl

string

省略可。サービスのウェブページには、ユーザーが Google に付与する権限についての説明が記載されています。OAuth と Google ログインを使用する場合にのみ設定します。このフィールドを指定する場合は、LocalizedSettings.terms_of_service_url セクションのディレクトリ情報に利用規約を入力してください。

useBasicAuthHeader

boolean

省略可。true の場合、Google が HTTP 基本認証ヘッダーを介してクライアント ID とシークレットを送信できるようにします。それ以外の場合は、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 (Handler)
    }
  ],

  // Union field webhook_type can be only one of the following:
  "httpsEndpoint": {
    object (HttpsEndpoint)
  },
  "inlineCloudFunction": {
    object (InlineCloudFunction)
  }
  // End of list of possible types for union field webhook_type.
}
フィールド
handlers[]

object (Handler)

この Webhook のハンドラのリスト。

共用体フィールド webhook_type。サポートされている Webhook タイプは 1 つのみです。webhook_type は次のいずれかになります。
httpsEndpoint

object (HttpsEndpoint)

カスタム Webhook HTTPS エンドポイント。

inlineCloudFunction

object (InlineCloudFunction)

Webhooks フォルダ内のコードからデプロイされた Cloud Functions の関数のメタデータ。

Handler

Webhoook ハンドラの名前を宣言します。Webhook には複数のハンドラを登録できます。これらのハンドラは、アクション プロジェクトの複数の場所から呼び出すことができます。

JSON 表現
{
  "name": string
}
フィールド
name

string

必須。ハンドラの名前。Actions プロジェクトのすべてのハンドラで一意である必要があります。このハンドラの名前を確認することで、フルフィルメントのソースコード内で正しい関数を呼び出すことができます。

HttpsEndpoint

インライン エディタを使用していない場合に通知する REST エンドポイント。

JSON 表現
{
  "baseUrl": string,
  "httpHeaders": {
    string: string,
    ...
  },
  "endpointApiVersion": integer
}
フィールド
baseUrl

string

フルフィルメント エンドポイントの 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

map (key: string, value: string)

POST リクエストに含まれる HTTP パラメータのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

endpointApiVersion

integer

エンドポイントで使用されるプロトコルのバージョン。これはすべてのフルフィルメント タイプで共有されるプロトコルであり、Google フルフィルメント タイプに固有のものではありません。

InlineCloudFunction

Webhooks フォルダからデプロイされたインライン Cloud Functions のメタデータを保持します。

JSON 表現
{
  "executeFunction": string
}
フィールド
executeFunction

string

Cloud Functions の関数のエントリ ポイントの名前。このフィールドの値は、ソースコードからエクスポートしたメソッドの名前と一致する必要があります。

インテント

インテントは、自由回答形式のユーザー入力を構造化オブジェクトにマッピングします。発話されたフレーズは、Google の自然言語理解(NLU)によってインテントと照合されます。インテント マッチは、会話デザインのイベントをトリガーして、ユーザーの会話を進めることができます。インテント名はファイル名で指定します。

JSON 表現
{
  "parameters": [
    {
      object (IntentParameter)
    }
  ],
  "trainingPhrases": [
    string
  ]
}
フィールド
parameters[]

object (IntentParameter)

トレーニング フレーズ内のパラメータのリスト。トレーニング フレーズで使用するパラメータはすべて、ここで定義する必要があります。

trainingPhrases[]

string

トレーニング フレーズを使用すると、Google の NLU でインテントとユーザー入力が自動的にマッチングされます。指定された固有のフレーズが多いほど、このインテントが一致する可能性が高まります。アノテーションが付けられるトレーニング フレーズ部分の形式は次のとおりです。auto フィールドは省略可能であり、auto が指定されていない場合のデフォルトの動作は auto=false と同等です。($<paramName> '<sample text>' auto=<true or false>) auto = true は、そのパーツに NLU によって自動的にアノテーションが付けられたことを意味します。auto = false はユーザーがその部分にアノテーションを付けたことを意味します。auto が指定されていない場合のデフォルトです。例: 「($source 'サンフランシスコ' auto=false) から ($dest 'バンクーバー') までのフライトを予約」

IntentParameter

トレーニング フレーズ内で使用できるパラメータの定義。

JSON 表現
{
  "name": string,

  // Union field parameter_type can be only one of the following:
  "type": {
    object (ClassReference)
  },
  "entitySetReferences": {
    object (EntitySetReferences)
  }
  // End of list of possible types for union field parameter_type.
}
フィールド
name

string

必須。インテント パラメータの一意の名前。$intent.params.[name].resolved を使用して NLU によって抽出されたインテント パラメータを参照するために、条件とレスポンスで使用できる

共用体フィールド parameter_type。インテント パラメータのタイプ。parameter_type は次のいずれかになります。
type

object (ClassReference)

省略可。このパラメータのデータ型を宣言します。組み込みインテントには設定しないでください。

entitySetReferences

object (EntitySetReferences)

省略可。このインテント パラメータで許可されるエンティティのセットへの参照。組み込みインテントのパラメータでのみ有効です。これらの参照は、「custom/entitySets」内のエンティティ セットをポイントしていますされます。

ClassReference

フィールドの型または戻り値の宣言に使用されるクラスへの参照。列挙型は、ClassReference を使用して参照できるクラスでもあります。

JSON 表現
{
  "name": string,
  "list": boolean
}
フィールド
name

string

必須。パラメータの組み込み型またはカスタム型の名前。例: PizzaToppingsactions.type.Number

list

boolean

省略可。データ型が値のリストを表すかどうかを示します。

EntitySetReferences

インテント パラメータ用のエンティティ セット参照。

JSON 表現
{
  "entitySetReferences": [
    {
      object (EntitySetReference)
    }
  ]
}
フィールド
entitySetReferences[]

object (EntitySetReference)

必須。インテント パラメータ用のエンティティ セット参照。

EntitySetReference

このインテント パラメータで許可されるエンティティのセットへの参照。

JSON 表現
{
  "entitySet": string
}
フィールド
entitySet

string

必須。指定されたパラメータの要素として考慮されるエンティティの特定のコレクションを指定します。対応するエンティティ セットの定義が custom/entitySets/ ディレクトリに存在している必要があります。

タイプ

組み込み型ではなく、カスタム型の宣言。タイプは、シーン内のスロットやインテントのトレーニング フレーズのパラメータに割り当てることができます。実際には、型は列挙型と考えることができます。タイプ名はファイルの名前で指定します。

JSON 表現
{
  "exclusions": [
    string
  ],

  // Union field sub_type can be only one of the following:
  "synonym": {
    object (SynonymType)
  },
  "regularExpression": {
    object (RegularExpressionType)
  },
  "freeText": {
    object (FreeTextType)
  }
  // End of list of possible types for union field sub_type.
}
フィールド
exclusions[]

string

タイプによって照合すべきでない例外的な単語/フレーズのセット。注: 指定した語句がタイプによって一致していても、除外対象として登録されている場合、その語句はパラメータ抽出結果で返されません。このフィールドはローカライズ可能です。

共用体フィールド sub_type。実行するマッチングのタイプに基づくサブタイプの選択。sub_type は次のいずれかになります。
synonym

object (SynonymType)

類義語型。基本的には列挙型です。

regularExpression

object (RegularExpressionType)

正規表現タイプ。正規表現一致を可能にします。

freeText

object (FreeTextType)

FreeText 型。

SynonymType

一連の類義語でテキストを照合する型。

JSON 表現
{
  "matchType": enum (MatchType),
  "acceptUnknownValues": boolean,
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
フィールド
matchType

enum (MatchType)

省略可。類義語のマッチタイプ。

acceptUnknownValues

boolean

省略可。true に設定すると、周囲の入力データとインテント トレーニング データ(食料品リストに追加される可能性があるアイテムなど)に基づき、不明な単語やフレーズが照合されます。

entities

map (key: string, value: object (Entity))

必須。類義語エンティティの名前付きマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

MatchType

このタイプのエントリが使用するマッチングのタイプ。これにより、すべての型で同じマッチング方法が使用されるようになり、類義語のマッチング(あいまいな一致と完全一致のマッチングなど)にバリエーションを持たせることができます。値が UNSPECIFIED の場合、デフォルトは EXACT_MATCH です。

列挙型
UNSPECIFIED デフォルトは EXACT_MATCH です。
EXACT_MATCH 類義語または名前の完全一致を探します。
FUZZY_MATCH EXACT_MATCH より小さい。完全一致だけでなく類似マッチも探します。

エンティティ

型の中の 1 つのエントリの詳細を含む類義語エンティティ フィールドを表します。

JSON 表現
{
  "display": {
    object (EntityDisplay)
  },
  "synonyms": [
    string
  ]
}
フィールド
display

object (EntityDisplay)

省略可。エンティティの表示の詳細。

synonyms[]

string

省略可。エンティティの類義語のリスト。このフィールドはローカライズ可能です。

EntityDisplay

クエリから特定のタイプのエンティティが抽出されると、キャンバスに表示される要素。キャンバス対応アプリにのみ関連します。このメッセージはローカライズ可能です。

JSON 表現
{
  "iconTitle": string,
  "iconUrl": string
}
フィールド
iconTitle

string

省略可。アイコンのタイトル。

iconUrl

string

必須。アイコンの URL。

RegularExpressionType

正規表現でテキストを照合するテキストを入力します。このメッセージはローカライズ可能です。

JSON 表現
{
  "entities": {
    string: {
      object (Entity)
    },
    ...
  }
}
フィールド
entities

map (key: string, value: object (Entity))

必須。それぞれが正規表現文字列を含むエンティティの名前付きマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

エンティティ

比較に使用する正規表現を含むエンティティ オブジェクトを表します。

JSON 表現
{
  "display": {
    object (EntityDisplay)
  },
  "regularExpressions": [
    string
  ]
}
フィールド
display

object (EntityDisplay)

省略可。クエリからエンティティが抽出されるとキャンバスに表示される要素。キャンバス対応アプリにのみ関連します。

regularExpressions[]

string

必須。RE2 正規表現構文を使用(詳しくは、https://github.com/google/re2/wiki/Syntax をご覧ください)

FreeTextType

周囲の単語のコンテキストが、提供されたトレーニング サンプルに近い場合、任意のテキストに一致するタイプ。

JSON 表現
{
  "display": {
    object (EntityDisplay)
  }
}
フィールド
display

object (EntityDisplay)

省略可。クエリからエンティティが抽出されるとキャンバスに表示される要素。キャンバス対応アプリにのみ関連します。

EntitySet

エンティティ セットは、組み込みインテント パラメータの値源となる、事前定義されたエンティティのセットを表します。エンティティ セットは、組み込みインテントのパラメータの entitySet から参照できます。

JSON 表現
{
  "entities": [
    {
      object (Entity)
    }
  ]
}
フィールド
entities[]

object (Entity)

必須。このエンティティ セットがサポートするエンティティのリスト。

エンティティ

組み込みインテント パラメータ値の取得元となるエンティティ。

JSON 表現
{
  "id": string
}
フィールド
id

string

必須。エンティティの ID。組み込みインテントのパラメータとサポートされるエンティティの一覧については、https://developers.google.com/assistant/conversational/build/built-in-intents をご覧ください。

GlobalIntentEvent

グローバル インテント ハンドラを定義します。グローバル インテント イベントのスコープは Actions プロジェクト全体であり、シーン内のインテント ハンドラによってオーバーライドされる場合があります。インテント名は Actions プロジェクト内で一意である必要があります。

グローバル インテントはセッション中いつでも照合できるため、ユーザーは「ヘルプ」などの一般的なフローにアクセスできます。「帰宅する」などの指示を出します。また、アクションを呼び出すときにユーザーを特定のフローにディープリンクするためにも使用できます。

インテント名はファイルの名前で指定します。

JSON 表現
{
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
フィールド
transitionToScene

string

省略可。会話の移動先のシーン。現在のシーンの状態は、遷移時に破棄されます。

handler

object (EventHandler)

省略可。インテントが一致したときにトリガーされるイベント ハンドラ。デスティネーション シーンに移行する前に実行する必要があります。イベントに応答してプロンプトを生成するのに役立ちます。

EventHandler

イベントの後に実行されるハンドラを定義します。イベントの例として、シーンにおけるインテントや条件に基づくイベントが挙げられます。

JSON 表現
{
  "webhookHandler": string,

  // Union field prompt can be only one of the following:
  "staticPrompt": {
    object (StaticPrompt)
  },
  "staticPromptName": string
  // End of list of possible types for union field prompt.
}
フィールド
webhookHandler

string

呼び出す Webhook ハンドラの名前。

共用体フィールド prompt。プロンプトはインライン化することも、名前で参照することもできます。prompt は次のいずれかになります。
staticPrompt

object (StaticPrompt)

インラインの静的プロンプト。バンドル内の文字列リソースへの参照を含めることができます。

staticPromptName

string

呼び出す静的プロンプトの名前。

StaticPrompt

プロンプトの候補のリストを表します。プロンプトの候補のうち 1 つが、ユーザーへのレスポンスに表示されるプロンプトとして選択されます。このメッセージはローカライズ可能です。

JSON 表現
{
  "candidates": [
    {
      object (StaticPromptCandidate)
    }
  ]
}
フィールド
candidates[]

object (StaticPromptCandidate)

クライアントに送信するプロンプト候補のリスト。各プロンプトには、いつ使用できるかを決定するセレクタがあります。リクエストに一致する最初のセレクタが送信され、残りは無視されます。

StaticPromptCandidate

静的プロンプトの候補を表します。

JSON 表現
{
  "selector": {
    object (Selector)
  },
  "promptResponse": {
    object (StaticPromptResponse)
  }
}
フィールド
selector

object (Selector)

省略可。このプロンプトがリクエストと一致するかどうかの基準。セレクタが空の場合、このプロンプトは常にトリガーされます。

promptResponse

object (StaticPromptResponse)

セレクタに関連付けられたプロンプト レスポンス。

セレクタ

プロンプトがリクエストに一致するかどうかの条件を定義します。

JSON 表現
{
  "surfaceCapabilities": {
    object (SurfaceCapabilities)
  }
}
フィールド
surfaceCapabilities

object (SurfaceCapabilities)

必要なサーフェス機能のセット。

SurfaceCapabilities

ユーザーがアクションへのリクエストを行うために使用するサーフェスを表します。

JSON 表現
{
  "capabilities": [
    enum (Capability)
  ]
}
フィールド
capabilities[]

enum (Capability)

必須。アクションにリクエストを行っているサーフェスの機能。

能力

リクエスト時にデバイス サーフェスがサポートする機能。

列挙型
UNSPECIFIED サーフェス機能が指定されていません。
SPEECH デバイスがテキスト読み上げまたは SSML でユーザーと話すことができる。
RICH_RESPONSE デバイスで、カード、リスト、表などのリッチな回答を表示できます。
LONG_FORM_AUDIO デバイスで音楽やポッドキャストなどの長時間の音声メディアを再生できます。
INTERACTIVE_CANVAS デバイスはインタラクティブなキャンバス レスポンスを表示できます。
HOME_STORAGE デバイスはホーム ストレージの保存と取得をサポートできる。

StaticPromptResponse

テキスト、音声、カード、キャンバス データ、候補ワードなど、ユーザーに送信する構造化されたレスポンスを表します。

JSON 表現
{
  "firstSimple": {
    object (StaticSimplePrompt)
  },
  "content": {
    object (StaticContentPrompt)
  },
  "lastSimple": {
    object (StaticSimplePrompt)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "link": {
    object (StaticLinkPrompt)
  },
  "override": boolean,
  "canvas": {
    object (StaticCanvasPrompt)
  }
}
フィールド
firstSimple

object (StaticSimplePrompt)

省略可。最初の音声とテキストのみのレスポンス。

content

object (StaticContentPrompt)

省略可。ユーザーに表示するカード、リスト、メディアなどのコンテンツ。

lastSimple

object (StaticSimplePrompt)

省略可。最後の音声とテキストのみのレスポンス。

suggestions[]

object (Suggestion)

省略可。ユーザーに表示される候補。常にレスポンスの最後に表示されます。含まれるプロンプトの append フィールドが true の場合、このフィールドで定義されたタイトルは、以前に定義された候補プロンプトで定義されたタイトルに追加され、重複する値は削除されます。

override

boolean

省略可。このメッセージを以前に定義されたメッセージと統合する方法のモード。true は、以前に定義したすべてのメッセージ(最初と最後のシンプル、コンテンツ、候補のリンク、キャンバス)を消去し、このプロンプトで定義されたメッセージを追加します。false は、このプロンプトで定義されたメッセージを、以前のレスポンスで定義されているメッセージに追加します。このフィールドを false に設定すると、シンプル プロンプト、候補のプロンプト、描画キャンバス プロンプト(コンテンツ プロンプトの一部)内の一部のフィールドへの追加も有効になります。メッセージとリンク メッセージがプロンプトで定義されている場合、常に上書きされます。デフォルト値は false です。

canvas

object (StaticCanvasPrompt)

インタラクティブなキャンバス エクスペリエンスで使用されるレスポンス。

StaticSimplePrompt

ユーザーに送信するシンプルなプロンプトを表します。

JSON 表現
{
  "variants": [
    {
      object (Variant)
    }
  ]
}
フィールド
variants[]

object (Variant)

可能性のあるバリアントのリスト。

パターン

シンプル プロンプトの一部であるバリアントを表します。

JSON 表現
{
  "speech": string,
  "text": string
}
フィールド
speech

string

省略可。ユーザーに読み上げられる音声を表します。SSML またはテキスト読み上げを使用できます。デフォルトでは、音声は前のシンプル プロンプトの音声に追加されます。含まれるプロンプトの override フィールドが true の場合、このフィールドで定義された音声が、以前のシンプル プロンプトの音声をオーバーライドします。

text

string

省略可。チャットふきだしに表示するテキスト。指定しない場合は、上記の音声フィールドの表示レンダリングが使用されます。640 文字までです。デフォルトでは、テキストは前のシンプル プロンプトのテキストに追加されます。含まれるプロンプトの override フィールドが true の場合、このフィールドで定義されたテキストが、以前のシンプル プロンプトのテキストをオーバーライドします。

StaticContentPrompt

StaticPrompt の Content 部分のプレースホルダ。

JSON 表現
{

  // Union field content can be only one of the following:
  "card": {
    object (StaticCardPrompt)
  },
  "image": {
    object (StaticImagePrompt)
  },
  "table": {
    object (StaticTablePrompt)
  },
  "media": {
    object (StaticMediaPrompt)
  },
  "list": {
    object (StaticListPrompt)
  },
  "collection": {
    object (StaticCollectionPrompt)
  },
  "collectionBrowse": {
    object (StaticCollectionBrowsePrompt)
  }
  // End of list of possible types for union field content.
}
フィールド
共用体フィールド content。プロンプトに存在できるコンテンツは 1 種類のみです。content は次のいずれかになります。
card

object (StaticCardPrompt)

ベーシック カード。

image

object (StaticImagePrompt)

画像。

table

object (StaticTablePrompt)

テーブルカード。

media

object (StaticMediaPrompt)

再生するメディアのセットを示すレスポンス。

list

object (StaticListPrompt)

選択可能なオプションのリストを提示するカード。

collection

object (StaticCollectionPrompt)

選択できるオプションのリストを示すカード。

collectionBrowse

object (StaticCollectionBrowsePrompt)

開くウェブページのコレクションを示すカード。

StaticCardPrompt

画像やテキストなどの情報を表示するための基本的なカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "text": string,
  "image": {
    object (StaticImagePrompt)
  },
  "imageFill": enum (ImageFill),
  "button": {
    object (StaticLinkPrompt)
  }
}
フィールド
title

string

省略可。カードの全体的なタイトル。

subtitle

string

省略可。カードのサブタイトル。

text

string

必須。カードの本文。画像がない場合に必須です。書式設定のための一部のマークダウン構文をサポートします。

image

object (StaticImagePrompt)

省略可。カードのヒーロー画像。高さは 192 dp に固定されます。

imageFill

enum (ImageFill)

省略可。画像の背景を塗りつぶす方法。

button

object (StaticLinkPrompt)

省略可。カードに表示されるクリック可能なボタン。

StaticImagePrompt

カードに表示される画像。

JSON 表現
{
  "url": string,
  "alt": string,
  "height": integer,
  "width": integer
}
フィールド
url

string

必須。画像のソース URL。JPG、PNG、GIF(アニメーション GIF と非アニメーション GIF)を使用できます。例 :https://www.agentx.com/logo.png

alt

string

必須。ユーザー補助機能に使用される画像の説明テキスト。例:スクリーン リーダーです。

height

integer

省略可。画像の高さ(ピクセル単位)。

width

integer

省略可。画像の幅(ピクセル単位)。

ImageFill

画像の表示に影響を与える有効な画像表示オプション。これは画像のアスペクト比が画像コンテナのアスペクト比と一致しない場合に使用されます。

列挙型
UNSPECIFIED ImageFill が指定されていません。
GRAY 画像と画像コンテナの隙間を灰色のバーで埋めます。
WHITE 画像と画像コンテナの隙間を白いバーで埋めます。
CROPPED 画像の幅と高さがコンテナの寸法と一致またはそれを超えるように画像が拡大縮小されます。拡大縮小された画像の高さがコンテナの高さより大きい場合、画像の上下が切り取られることがあります。拡大縮小された画像の幅がコンテナの幅より大きい場合、画像の左右が切り取られることがあります。これはワイド画面のテレビでアスペクト比 4:3 の動画を再生するときの「ズームモード」に似ています。

StaticLinkPrompt

候補ワードとして表示され、ユーザーが開くことができるリンクを定義します。

JSON 表現
{
  "name": string,
  "open": {
    object (OpenUrl)
  }
}
フィールド
name

string

リンクの名前

open

object (OpenUrl)

ユーザーがリンクを開いたときの動作を定義します。

OpenUrl

ユーザーがリンクを開いたときの動作を定義します。

JSON 表現
{
  "url": string,
  "hint": enum (UrlHint)
}
フィールド
url

string

次の URL フィールドのいずれか: - アプリとリンクしたアプリまたはウェブページを開くための http か https の URL

hint

enum (UrlHint)

URL タイプのヒントを示します。

UrlHint

URL ヒントのタイプ。

列挙型
HINT_UNSPECIFIED 指定なし
AMP AMP コンテンツを直接指す URL、または <link rel="amphtml"> を介して AMP コンテンツを参照する正規 URL を指します。

StaticTablePrompt

テキストの表を表示するためのカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "image": {
    object (StaticImagePrompt)
  },
  "columns": [
    {
      object (TableColumn)
    }
  ],
  "rows": [
    {
      object (TableRow)
    }
  ],
  "button": {
    object (StaticLinkPrompt)
  }
}
フィールド
title

string

省略可。テーブルの全体的なタイトル。字幕が設定されている場合は設定する必要があります。

subtitle

string

省略可。テーブルのサブタイトル。

image

object (StaticImagePrompt)

省略可。テーブルに関連付けられている画像。

columns[]

object (TableColumn)

省略可。ヘッダーと列の配置。

rows[]

object (TableRow)

省略可。テーブルの行データ。最初の 3 行は表示されることが保証されますが、その他の行はサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどの行が表示されるかをシミュレータでテストしてください。WEB_BROWSER 機能をサポートするサーフェスでは、詳細なデータが記載されたウェブページにユーザーを誘導できます。

button

object (StaticLinkPrompt)

省略可。ボタン。

TableColumn

テーブル内の列を記述します。

JSON 表現
{
  "header": string,
  "align": enum (HorizontalAlignment)
}
フィールド
header

string

列のヘッダー テキスト。

align

enum (HorizontalAlignment)

列に対するコンテンツの水平方向の配置。省略した場合、内容は前端に揃えられます。

HorizontalAlignment

セル内での内容の配置。

列挙型
UNSPECIFIED HorizontalAlignment が指定されていません。
LEADING セルの前端。これがデフォルトです。
CENTER 内容は列の中央に揃えられます。
TRAILING 内容は列の後端に揃えられます。

TableRow

表の行を記述します。

JSON 表現
{
  "cells": [
    {
      object (TableCell)
    }
  ],
  "divider": boolean
}
フィールド
cells[]

object (TableCell)

この行のセル。最初の 3 つのセルは表示されることが保証されますが、その他のセルはサーフェスによっては切り捨てられる場合があります。特定のサーフェスに対してどのセルが表示されるかをシミュレータでテストしてください。

divider

boolean

各行の後に分割線を追加するかどうかを示します。

TableCell

行のセルを記述します。

JSON 表現
{
  "text": string
}
フィールド
text

string

セルのテキスト コンテンツ。

StaticMediaPrompt

名前、説明、URL など、メディアに関する情報が含まれます。次の ID: 11

JSON 表現
{
  "mediaType": enum (MediaType),
  "startOffset": string,
  "optionalMediaControls": [
    enum (OptionalMediaControls)
  ],
  "mediaObjects": [
    {
      object (MediaObject)
    }
  ],
  "repeatMode": enum (RepeatMode)
}
フィールド
mediaType

enum (MediaType)

このレスポンスのメディアタイプ。

startOffset

string (Duration format)

最初のメディア オブジェクトの開始オフセット。

小数点以下 9 桁まで、「s」で終わる秒単位の期間(例: "3.5s")。

optionalMediaControls[]

enum (OptionalMediaControls)

このメディア レスポンス セッションがサポートするオプションのメディア コントロール タイプ。設定すると、特定のメディア イベントが発生したときにサードパーティにリクエストが行われます。このポリシーを設定しない場合でも、サードパーティは 2 つのデフォルトのコントロール タイプ(FINISHED と FAILED)を処理する必要があります。

mediaObjects[]

object (MediaObject)

メディア オブジェクトのリスト。

repeatMode

enum (RepeatMode)

メディア オブジェクトのリストの繰り返しモード。

MediaType

このレスポンスのメディアタイプ。

列挙型
MEDIA_TYPE_UNSPECIFIED 値が指定されていません
AUDIO 音声ファイル。
MEDIA_STATUS_ACK メディア ステータス レポートの確認応答。

OptionalMediaControls

メディア レスポンスがオプションでサポートできるメディア コントロール タイプ

列挙型
OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED 値が指定されていません
PAUSED イベントを一時停止しました。ユーザーがメディアを一時停止したときにトリガーされます。
STOPPED イベントを停止しました。メディアの再生中にユーザーが 3P セッションを終了するとトリガーされます。

MediaObject

単一のメディア オブジェクトを表します。

JSON 表現
{
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object (MediaImage)
  }
}
フィールド
name

string

このメディア オブジェクトの名前。

description

string

このメディア オブジェクトの説明です。

url

string

メディア コンテンツを指す URL。

image

object (MediaImage)

メディアカードとともに表示する画像。

MediaImage

MediaPrompt 内に表示される画像。

JSON 表現
{

  // Union field image can be only one of the following:
  "large": {
    object (StaticImagePrompt)
  },
  "icon": {
    object (StaticImagePrompt)
  }
  // End of list of possible types for union field image.
}
フィールド
共用体フィールド image。使用できる MediaImage は 1 種類のみです。image は次のいずれかになります。
large

object (StaticImagePrompt)

アルバムのカバーなどの大きな画像。

icon

object (StaticImagePrompt)

タイトルの右側に表示される小さな画像アイコン。36×36 dp にサイズ変更されます。

RepeatMode

メディア オブジェクト リストの繰り返しモードの種類。

列挙型
REPEAT_MODE_UNSPECIFIED OFF に相当します。
OFF 最後のメディア オブジェクトの最後でメディア セッションを終了します。
ALL 最後のメディア オブジェクトの終わりに達すると、最初のメディア オブジェクトの先頭までループします。

StaticListPrompt

選択可能なオプションのリストを提示するカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (ListItem)
    }
  ]
}
フィールド
title

string

省略可。リストのタイトル。

subtitle

string

省略可。リストのサブタイトル。

items[]

object (ListItem)

必須。リストアイテム。

ListItem

リスト内の項目。

JSON 表現
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
フィールド
key

string

必須。関連付けられたタイプのエントリキー名と一致する NLU キー。アイテムがタップされると、このキーは選択オプション パラメータとしてポストバックされます。

title

string

必須。商品アイテムのタイトル。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。各タイトルは、一連の商品アイテムの中で一意である必要があります。

description

string

省略可。アイテムの本文テキスト。

image

object (StaticImagePrompt)

省略可。アイテムの画像。

StaticCollectionPrompt

選択可能なオプションのコレクションを提示するカード。

JSON 表現
{
  "title": string,
  "subtitle": string,
  "items": [
    {
      object (CollectionItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
フィールド
title

string

省略可。コレクションのタイトル。

subtitle

string

省略可。コレクションのサブタイトル。

items[]

object (CollectionItem)

必須。コレクションのアイテム。

imageFill

enum (ImageFill)

省略可。画像表示オプションのタイプ。

CollectionItem

コレクションのアイテム。

JSON 表現
{
  "key": string,
  "title": string,
  "description": string,
  "image": {
    object (StaticImagePrompt)
  }
}
フィールド
key

string

必須。関連するタイプのエントリキー名と一致する NLU キー。アイテムがタップされると、このキーは選択オプション パラメータとしてポストバックされます。

title

string

必須。商品アイテムのタイトル。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。各タイトルは、一連の商品アイテムの中で一意である必要があります。

description

string

省略可。アイテムの本文テキスト。

image

object (StaticImagePrompt)

省略可。アイテムの画像。

StaticCollectionBrowsePrompt

一連のウェブ ドキュメントを大きなタイル アイテムのコレクションとして提示します。アイテムを選択すると、関連するウェブ ドキュメントをウェブビューアで起動できます。

JSON 表現
{
  "items": [
    {
      object (CollectionBrowseItem)
    }
  ],
  "imageFill": enum (ImageFill)
}
フィールド
items[]

object (CollectionBrowseItem)

ブラウズ コレクション内のアイテム。リストサイズは [2, 10] の範囲にする必要があります。

imageFill

enum (ImageFill)

コレクション内の画像の画像表示オプション。

CollectionBrowseItem

コレクション内の項目。

JSON 表現
{
  "title": string,
  "description": string,
  "footer": string,
  "image": {
    object (StaticImagePrompt)
  },
  "openUriAction": {
    object (OpenUrl)
  }
}
フィールド
title

string

必須。コレクション アイテムのタイトル。

description

string

コレクション アイテムの説明。

footer

string

説明の下に表示されるコレクション アイテムのフッター テキスト。1 行のテキスト。省略記号で切り捨てられます。

image

object (StaticImagePrompt)

コレクション アイテムの画像。

openUriAction

object (OpenUrl)

必須。アイテムが選択されたときに開く URI。

候補

候補チップ(便宜上ユーザーに表示される UI 要素)を表します。

JSON 表現
{
  "title": string
}
フィールド
title

string

必須。候補ワードに表示されるテキスト。タップすると、あたかもユーザーがこのテキストをキーボードから入力したかのように、このテキストが会話にそのままポストバックされます。一連の候補ワードの間でタイトルが重複していてはなりません。最大 25 文字

StaticCanvasPrompt

ユーザーに送信される Interactive Canvas のレスポンスを表します。キャンバスのインタラクティブなレスポンスを表示するだけでなく、含まれるプロンプトの firstSimple フィールドと組み合わせて使用すると、ユーザーに話しかけることができます。

JSON 表現
{
  "url": string,
  "data": [
    value
  ],
  "suppressMic": boolean,
  "sendStateDataToCanvasApp": boolean,
  "enableFullScreen": boolean
}
フィールド
url

string

必須。読み込むウェブビューの URL。

data[]

value (Value format)

省略可。没入型エクスペリエンスのウェブページにイベントとして渡される JSON データ。含まれるプロンプトの override フィールドが false の場合、この Canvas プロンプトで定義されたデータ値は、以前の Canvas プロンプトで定義されたデータ値の後に追加されます。

suppressMic

boolean

省略可。値が true の場合、この没入型の応答がユーザーに表示された後、入力をキャプチャするためにマイクが開かないことを意味します。

sendStateDataToCanvasApp

boolean

省略可。true の場合、会話関連のメタデータが含まれ、キャンバス アプリケーションに返されます。

enableFullScreen

boolean

省略可。true の場合、キャンバス アプリは全画面表示されるため、上部にヘッダーは表示されません。読み込み画面にトースト メッセージも表示されます。このメッセージには、アクションの表示名、デベロッパーの名前、アクションを終了する手順が含まれています。デフォルト値: false

シーン

シーンは、会話を設計する際の制御フローの基本単位です。他のシーンと連結したり、エンドユーザー向けのプロンプトを生成したり、スロットを定義したりできます。シーン名はファイル名で指定します。

JSON 表現
{
  "onEnter": {
    object (EventHandler)
  },
  "intentEvents": [
    {
      object (IntentEvent)
    }
  ],
  "conditionalEvents": [
    {
      object (ConditionalEvent)
    }
  ],
  "slots": [
    {
      object (Slot)
    }
  ],
  "onSlotUpdated": {
    object (EventHandler)
  }
}
フィールド
onEnter

object (EventHandler)

このシーンへの遷移時に呼び出すハンドラ。

intentEvents[]

object (IntentEvent)

インテントに基づいてトリガーされるイベントのリスト。これらのイベントは、on_load ハンドラが呼び出された後、いつでもトリガーできます。重要 - これらのイベントは、このシーンをスコープとするインテントのセットを定義します。同じインテントまたはトリガー フレーズを持つグローバルに定義されたイベントよりも優先されます。インテント名はシーン内で一意である必要があります。

conditionalEvents[]

object (ConditionalEvent)

条件文に基づいてトリガーするイベントのリスト。これらは、フォームが入力された後、またはこのシーンにフォームがない場合は on_load の直後に評価されます(評価は 1 回だけ行われます)。最初に一致したイベントのみがトリガーされます。

slots[]

object (Slot)

スロットの順序付きリスト。各スロットでは、解決するデータの種類と、この解決(プロンプトなど)のエクスペリエンスをカスタマイズするための構成を定義します。

onSlotUpdated

object (EventHandler)

別の Handler 内の更新に起因しない、スロットの状態の変化があった場合に呼び出されるハンドラ。これにより、スロットの無効化、シーンの無効化、その他のシーン状態の変更が可能になります。

IntentEvent

インテントが一致したときにトリガーされるイベントを登録します。

JSON 表現
{
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
フィールド
intent

string

必須。イベントをトリガーするインテント。

transitionToScene

string

省略可。会話の移動先のシーン。現在のシーンの状態は、遷移時に破棄されます。

handler

object (EventHandler)

省略可。インテントが一致したときにトリガーされるイベント ハンドラ。デスティネーション シーンに移行する前に実行する必要があります。イベントに応答してプロンプトを生成するのに便利です。

ConditionalEvent

true 条件の結果としてトリガーされるイベントを登録します。

JSON 表現
{
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object (EventHandler)
  }
}
フィールド
condition

string

必須。このイベントをトリガーするフィルタ条件。条件が true と評価されると、関連する handler がトリガーされます。次の変数参照がサポートされています。$session - セッション ストレージのデータを参照します。$user - ユーザー ストレージのデータを参照します。次のブール演算子がサポートされています(例あり): && - session.params.counter > 0 && session.params.counter < 100 || - session.params.foo == "John" || session.params.counter == "Adam" ! - !(session.params.counter == 5) 次の比較がサポートされています: ==!=<><=>= 次のリスト演算子と文字列演算子がサポートされています(例あり): in - "ウォーターメロン"(session.params.fruitListsizesize(session.params.fruitList) > 2 substringsession.params.fullName.contains("John")

transitionToScene

string

省略可。関連する条件が true と評価されたときに会話がジャンプする宛先シーン。現在のシーンの状態は、遷移時に破棄されます。

handler

object (EventHandler)

省略可。関連付けられた条件が true に評価されたときにトリガーされるイベント ハンドラ。デスティネーション シーンに移行する前に実行する必要があります。イベントに応答してプロンプトを生成するのに役立ちます。

スロット

スロットの構成。スロットとは、自然言語(インテント パラメータなど)、セッション パラメータなどのソースから入力できる単一のデータ単位です。

JSON 表現
{
  "name": string,
  "type": {
    object (ClassReference)
  },
  "required": boolean,
  "promptSettings": {
    object (PromptSettings)
  },
  "commitBehavior": {
    object (CommitBehavior)
  },
  "config": value,
  "defaultValue": {
    object (DefaultValue)
  }
}
フィールド
name

string

必須。スロットの名前。

type

object (ClassReference)

必須。このスロットのデータ型を宣言します。

required

boolean

省略可。スロットを進める前にスロットを埋める必要があるかどうかを示します。必須のスロットが埋まっていない場合は、カスタマイズ可能なプロンプトがユーザーに表示されます。

promptSettings

object (PromptSettings)

省略可。スロット充填のさまざまな段階のプロンプトを登録します。

commitBehavior

object (CommitBehavior)

省略可。スロットに関連する commit 動作。

config

value (Value format)

省略可。スロットを埋めるために使用される、スロットに関連する追加構成。構成の形式はスロットのタイプに固有です。ユーザー パラメータまたはセッション パラメータへのリソース参照をこの構成に追加できます。この構成は、トランザクションとユーザー エンゲージメントに関連するスロットを埋めるために必要なものです。

例: actions.type.CompletePurchaseValue タイプのスロットの場合、次の構成では、クライアント定義のセッション パラメータ userSelectedSkuId への参照を含むデジタル商品注文が提案されます。

{ &quot;@type&quot;: &quot;type.googleapis.com/ google.actions.transactions.v3.CompletePurchaseValueSpec&quot;, &quot;skuId&quot;: { &quot;skuType&quot;: &quot;SKU_TYPE_IN_APP&quot;, &quot;id&quot;: &quot;$session.params.userSelectedSkuId&quot;, &quot;packageName&quot;: &quot;com.example.company&quot;} }

defaultValue

object (DefaultValue)

省略可。このスロットにデフォルト値を入力するための構成。

PromptSettings

スロット プロンプトを定義する単一の場所。

JSON 表現
{
  "initialPrompt": {
    object (EventHandler)
  },
  "noMatchPrompt1": {
    object (EventHandler)
  },
  "noMatchPrompt2": {
    object (EventHandler)
  },
  "noMatchFinalPrompt": {
    object (EventHandler)
  },
  "noInputPrompt1": {
    object (EventHandler)
  },
  "noInputPrompt2": {
    object (EventHandler)
  },
  "noInputFinalPrompt": {
    object (EventHandler)
  }
}
フィールド
initialPrompt

object (EventHandler)

スロット値自体の入力を求めます。例: 「ご希望のサイズを教えていただけますか?」

noMatchPrompt1

object (EventHandler)

ユーザーの入力が、スロットで期待される値の型と初めて一致しなかった場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」

noMatchPrompt2

object (EventHandler)

ユーザーの入力がスロットで期待される値の型と 2 回目以降一致しない場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」

noMatchFinalPrompt

object (EventHandler)

前回のスロットで想定される値の型とユーザーの入力が一致しない場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」

noInputPrompt1

object (EventHandler)

ユーザーが初めて入力を行わなかったときに表示されるプロンプト。例: 「うまく聞き取れませんでした。」

noInputPrompt2

object (EventHandler)

ユーザーが 2 回目の入力を行わなかったときに表示されるプロンプト。例: 「うまく聞き取れませんでした。」

noInputFinalPrompt

object (EventHandler)

ユーザーが最後に入力しなかった場合に表示されるプロンプト。例: 「うまく聞き取れませんでした。」

CommitBehavior

スロットに正常に入力された後の、スロットに関連付けられた commit の動作を説明するメッセージ。

JSON 表現
{
  "writeSessionParam": string
}
フィールド
writeSessionParam

string

スロットが埋まった後に値を書き込むセッション パラメータ。ネストされたパスは現在サポートされていません。「$$」は、スロットと同じ名前のセッション パラメータにスロット値を書き込むために使用されます。例: writeSessionParam = "fruit""$session.params.fruit" に対応します。writeSessionParam = "ticket"(チケット)"$session.params.ticket" に対応します。

DefaultValue

このスロットにデフォルト値を入力するための構成。

JSON 表現
{
  "sessionParam": string,
  "constant": value
}
フィールド
sessionParam

string

省略可。空でない値がある場合に、スロット値を初期化するために使用されるセッション パラメータ。値の型はスロットのタイプと一致する必要があります。ネストされたパスは現在サポートされていません。たとえば、sessionParam = "fruit"$session.params.fruit に対応します。sessionParam = "ticket"$session.params.ticket に対応します。

constant

value (Value format)

省略可。スロットの定数のデフォルト値。これは、このスロットの値が sessionParam を通じて入力されなかった場合にのみ使用されます。この値のタイプは、スロットのタイプと一致する必要があります。

DataFiles

繰り返しデータファイルのラッパー。oneof に繰り返しフィールドを含めることはできません。

JSON 表現
{
  "dataFiles": [
    {
      object (DataFile)
    }
  ]
}
フィールド
dataFiles[]

object (DataFile)

複数のデータファイル。

DataFile

非構造化データを含む単一のファイルを表します。たとえば、画像ファイル、音声ファイル、Cloud Functions 関数のソースコードなどです。

JSON 表現
{
  "filePath": string,
  "contentType": string,
  "payload": string
}
フィールド
filePath

string

SDK ファイル構造のプロジェクト ルートからデータファイルの相対パス。使用できるファイルパス: - 画像: resources/images/{multiple directories}?/{ImageName}.{extension} - 音声: resources/audio/{multiple directories}?/{AudioFileName}.{extension} - インラインの Cloud Functions の関数コード: webhooks/{WebhookName}.zip 使用できる拡張機能: - 画像: pngjpgjpeg - 音声: mp3mpeg - インラインの Cloud Functions: zip

contentType

string

必須。このアセットのコンテンツ タイプ。例: text/html。コンテンツ タイプは仕様(http://www.w3.org/Protocols/rfc1341/4_Content-Type.html))に準拠している必要があります。Cloud Functions の関数は zip 形式で、コンテンツ タイプは application/zip;zip_type=cloud_function にする必要があります。zip_type パラメータは、zip が Cloud Functions の関数用であることを示します。

payload

string (bytes format)

データファイルの内容。たとえば、RAW バイトの画像、音声ファイル、Cloud Functions の関数の zip 形式などです。ペイロード サイズには 10 MB という厳格な上限があります。

Base64 でエンコードされた文字列。