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)

すべてのアクションが定義された単一のアクション ファイル。使用できるファイルパス: 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)

単一シーンの定義。使用できるファイルパス: 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}」を、いつ送信しますか。プッシュ通知の場合は「{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" - "Ghana" - "Greece" - "Grenada" - "United Kingdom" - "United States" - "United States Minor Outlying Irelands" - "Uruguay"

disabledRegions[]

string

ユーザーの所在地に基づいて、アクションがブロックされている地域を表します。enabledRegions が設定されている場合は設定できません。各地域は、AdWords 地域ターゲティングの正規名を使用して表されます。参照: https://developers.google.com/adwords/api/docs/appendix/geotargeting: - "Germany" - "Ghana" - "Greece" - "Grenada" - "United Kingdom" - "United States" - "United States Minor Outlying Irelands" - "Uruguay"

category

enum (Category)

このアクション プロジェクトのカテゴリ。

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 教育とリファレンスのカテゴリ。
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 (CapabilityRequirement)
    }
  ]
}
フィールド
minimumRequirements[]

object (CapabilityRequirement)

プロジェクト内のアクションを呼び出すために必要な最小限の機能セット。これらのいずれかがないと、アクションはトリガーされません。

CapabilityRequirement

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

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

enum (SurfaceCapability)

機能のタイプ。

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 (ThemeCustomization)
  }
}
フィールド
displayName

string

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

pronunciation

string

必須。音声(発話)コンテキスト内で表示する表示名の発音。

shortDescription

string

必須。Actions プロジェクトのデフォルトの簡単な説明(翻訳がない場合)。最大 80 文字。

fullDescription

string

必須。Actions プロジェクトのデフォルトの詳しい説明(利用可能な翻訳がない場合)。最大 4,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

(省略可)アシスタント ディレクトリに 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 中 - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed - Serif - Serif Bold - Monospace - 手書きメモ - Sans

imageCornerStyle

enum (ImageCornerStyle)

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

landscapeBackgroundImage

string

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

portraitBackgroundImage

string

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

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 (LinkingType),
  "authGrantType": enum (AuthGrantType),
  "appClientId": string,
  "authorizationUrl": string,
  "tokenUrl": string,
  "scopes": [
    string
  ],
  "learnMoreUrl": string,
  "useBasicAuthHeader": boolean
}
フィールド
enableAccountCreation

boolean

必須。true の場合、ユーザーは音声で新しいアカウントに登録できます。false の場合、アカウントの作成はウェブサイトでのみ許可されます。利用規約を表示するか、登録時にユーザーの同意を取得する場合は、このオプションを選択します。この値が false の場合、 linksType を 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 とシークレットを送信することを許可します。それ以外の場合、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 (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)

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

Handler

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

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

Webhook フォルダからデプロイされたインライン 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 'San Francisco' auto=false) から ($dest 'Vancouver') までのフライトを予約して」

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 より大きい。完全一致と完全一致を探します。

エンティティ

タイプ内の単一エントリの詳細を含む類義語エンティティ フィールドを表します。

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 プロジェクト内で一意である必要があります。

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

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

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 に設定すると、Simple プロンプト内の一部のフィールド、Suggestions プロンプト、Canvas プロンプト(Content プロンプトの一部)への追加も可能になります。コンテンツ メッセージとリンク メッセージは、プロンプトで定義されている場合は常に上書きされます。デフォルト値は false です。

canvas

object (StaticCanvasPrompt)

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

StaticSimplePrompt

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

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

object (Variant)

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

バリアント

単純なプロンプトの一部であるバリアントを表します。

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

string

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

text

string

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

StaticContentPrompt

StaticPrompt のコンテンツ部分のプレースホルダ。

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 を指す 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)

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

mediaObjects[]

object (MediaObject)

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

repeatMode

enum (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 (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

ユーザーに送信するインタラクティブ キャンバスのレスポンスを表します。これは、インタラクティブなキャンバス レスポンスを表示するだけでなく、ユーザーに話しかけるために、含まれるプロンプトの 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.fruitList の "Watermelon" session.params.fruitList size - size(session.params.fruitList) > 2 session.params.fullName.contains("John")substring

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 を参照してデジタル グッド注文を提案します。

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

defaultValue

object (DefaultValue)

(省略可)このスロットのデフォルト値を入力するための設定。

PromptSettings

スロット プロンプトを 1 か所で定義する。

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)

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

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