- การแสดง JSON
- ConfigFiles
- ConfigFile
- ไฟล์ Manifest
- การดำเนินการ
- CustomAction
- การมีส่วนร่วม
- PushNotification
- DailyUpdate
- ActionLink
- AssistantLink
- การตั้งค่า
- หมวดหมู่
- SurfaceRequirements
- CapabilityRequirement
- SurfaceCapability
- LocalizedSettings
- ThemeCustomization
- ImageCornerStyle
- AccountLinking
- LinkingType
- AuthGrantType
- เว็บฮุค
- เครื่องจัดการ
- HttpsEndpoint
- InlineCloudFunction
- ความตั้งใจ
- IntentParameter
- ClassReference
- EntitySetReferences
- EntitySetReference
- ประเภท
- SynonymType
- MatchType
- เอนทิตี
- EntityDisplay
- RegularExpressionType
- เอนทิตี
- FreeTextType
- EntitySet
- เอนทิตี
- 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
Wrapper สำหรับรายการไฟล์
| การแสดง JSON | |
|---|---|
| { // Union field | |
| ช่อง | ||
|---|---|---|
| ช่องการรวม file_typeคุณสามารถส่งไฟล์ประเภทเดียวไปยังเซิร์ฟเวอร์ได้ครั้งละ 1 ไฟล์เท่านั้น รวมถึงไฟล์การกำหนดค่าหรือไฟล์ข้อมูลfile_typeต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| configFiles | 
 รายการไฟล์การกำหนดค่า ซึ่งรวมถึงไฟล์ Manifest, การตั้งค่า, กลุ่มทรัพยากรโมเดลการโต้ตอบ และอื่นๆ | |
| dataFiles | 
 รายการไฟล์ข้อมูล ซึ่งรวมถึงรูปภาพ ไฟล์เสียง ซอร์สโค้ดสำหรับฟังก์ชันระบบคลาวด์ | |
ConfigFiles
Wrapper สำหรับไฟล์การกำหนดค่าที่ซ้ำ ฟิลด์ที่ซ้ำต้องไม่มีอยู่ในฟิลด์ใดฟิลด์หนึ่ง
| การแสดง JSON | |
|---|---|
| {
  "configFiles": [
    {
      object ( | |
| ช่อง | |
|---|---|
| configFiles[] | 
 ไฟล์การกำหนดค่าหลายไฟล์ | 
ConfigFile
แสดงไฟล์เดียวที่มีข้อมูลที่มีโครงสร้าง นักพัฒนาซอฟต์แวร์จะกำหนดโปรเจ็กต์ส่วนใหญ่ได้โดยใช้การกำหนดค่าที่มีโครงสร้าง ซึ่งรวมถึงการดำเนินการ การตั้งค่า และการดำเนินการตามคำสั่งซื้อ
| การแสดง JSON | |
|---|---|
| { "filePath": string, // Union field | |
| ช่อง | ||
|---|---|---|
| filePath | 
 เส้นทางสัมพัทธ์ของไฟล์การกำหนดค่าจากรูทของโปรเจ็กต์ในโครงสร้างไฟล์ SDK ไฟล์แต่ละประเภทด้านล่างมีเส้นทางไฟล์ที่อนุญาต เช่น settings/settings.yaml | |
| ช่องการรวม fileไฟล์การกำหนดค่าแต่ละประเภทควรมีช่องที่สอดคล้องกันในไฟล์ดังกล่าวfileต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| manifest | 
 ไฟล์ Manifest ไฟล์เดียว เส้นทางไฟล์ที่อนุญาต:  | |
| actions | 
 ไฟล์การดำเนินการเดียวที่ระบุการดำเนินการทั้งหมด เส้นทางไฟล์ที่อนุญาต:  | |
| settings | 
 กำหนดค่าการตั้งค่ารายการเดียว ซึ่งรวมถึงการตั้งค่าที่ไม่สามารถแปลได้และการตั้งค่าสำหรับภาษาเริ่มต้นของโปรเจ็กต์ (หากระบุ) สำหรับไฟล์ลบล้างภาษา ระบบจะป้อนข้อมูลเฉพาะช่อง localizedSettings เส้นทางไฟล์ที่อนุญาต:  | |
| webhook | 
 คำจำกัดความของเว็บฮุคเดี่ยว เส้นทางไฟล์ที่อนุญาต:  | |
| intent | 
 คำจำกัดความของ Intent เดียว เส้นทางไฟล์ที่อนุญาต:  | |
| type | 
 คำจำกัดความประเภทเดียว เส้นทางไฟล์ที่อนุญาต:  | |
| entitySet | 
 คำจำกัดความของชุดเอนทิตีเดี่ยว เส้นทางไฟล์ที่อนุญาต:  | |
| globalIntentEvent | 
 คำจำกัดความของเหตุการณ์ Intent แบบทั่วโลกรายการเดียว เส้นทางไฟล์ที่อนุญาต:  | |
| scene | 
 คำจำกัดความของฉากเดียว เส้นทางไฟล์ที่อนุญาต:  | |
| staticPrompt | 
 คำจำกัดความของข้อความแจ้งแบบคงที่ เส้นทางไฟล์ที่อนุญาต:  | |
| accountLinkingSecret | 
 ข้อมูลเมตาที่สอดคล้องกับรหัสลับไคลเอ็นต์ที่ใช้ในการลิงก์บัญชี เส้นทางไฟล์ที่อนุญาต:  | |
| resourceBundle | 
 กลุ่มทรัพยากรเดียว ซึ่งเป็นการแมปจากสตริงไปยังสตริงหรือลิสต์สตริง คุณใช้กลุ่มทรัพยากรสำหรับการแปลสตริงในพรอมต์แบบคงที่ได้ เส้นทางไฟล์ที่อนุญาต:  | |
ไฟล์ Manifest
มีข้อมูลที่ "ถ่ายโอนได้" เช่น ไม่เจาะจงโปรเจ็กต์ใดโปรเจ็กต์หนึ่งและย้ายไปมาระหว่างโปรเจ็กต์ได้
| การแสดง JSON | |
|---|---|
| { "version": string } | |
| ช่อง | |
|---|---|
| version | 
 เวอร์ชันของรูปแบบไฟล์ รูปแบบไฟล์ปัจจุบันคือ 1.0 เช่น "1.0" | 
การทำงาน
แสดงรายการการดำเนินการที่กำหนดไว้ในโปรเจ็กต์
| การแสดง JSON | |
|---|---|
| {
  "custom": {
    string: {
      object ( | |
| ช่อง | |
|---|---|
| custom | 
 แมปจาก Intent เป็นการดำเนินการที่กำหนดเองเพื่อกำหนดค่าการเรียกใช้โปรเจ็กต์ Intent การเรียกใช้อาจเป็นระบบหรือ Intent ที่กำหนดเองซึ่งระบุไว้ใน "custom/intents/" ใหม่ Intent ทั้งหมดที่ระบุไว้ที่นี่ (Intent ของระบบและ Intent ที่กำหนดเอง) ต้องมีไฟล์ Intent ที่เกี่ยวข้องใน "custom/global/" ใหม่ ออบเจ็กต์ที่มีรายการคู่  | 
CustomAction
รายละเอียดเกี่ยวกับการกระทำที่กำหนดเอง
| การแสดง JSON | |
|---|---|
| {
  "engagement": {
    object ( | |
| ช่อง | |
|---|---|
| engagement | 
 กลไกการมีส่วนร่วมที่เชื่อมโยงกับการดำเนินการเพื่อช่วยให้ผู้ใช้ปลายทางสมัครรับข้อความ Push และการอัปเดตรายวัน โปรดทราบว่าชื่อ Intent ที่ระบุในการกำหนดค่าช่องการอัปเดตรายวัน/ข้อความ Push ต้องตรงกับ Intent ที่สอดคล้องกับการดำเนินการนี้เพื่อให้ผู้ใช้ปลายทางสมัครรับการอัปเดตเหล่านี้ | 
การมีส่วนร่วม
กำหนดกลไกการมีส่วนร่วมที่เชื่อมโยงกับการดำเนินการนี้ วิธีนี้ช่วยให้ผู้ใช้ปลายทางสมัครรับข้อความ Push และการอัปเดตรายวันได้
| การแสดง JSON | |
|---|---|
| { "title": string, "pushNotification": { object ( | |
| ช่อง | |
|---|---|
| title | 
 ชื่อของการมีส่วนร่วมที่จะส่งไปยังผู้ใช้ปลายทางเพื่อขออนุญาตรับข้อมูลอัปเดต ข้อความแจ้งที่ส่งถึงผู้ใช้ปลายทางเพื่ออัปเดตรายวันจะมีลักษณะดังนี้ "อยากให้ฉันส่ง {title}" ให้คุณทุกวันตอนกี่โมง และสำหรับข้อความ Push จะมีลักษณะดังนี้ "จะเป็นอะไรไหมถ้าฉันส่งข้อความ Push สำหรับ {title}" ช่องนี้แปลได้ | 
| pushNotification | 
 การตั้งค่าข้อความ Push ที่การมีส่วนร่วมนี้รองรับ | 
| actionLink | 
 การกำหนดค่าลิงก์สำหรับการทำงานซึ่งกำหนดว่าจะเปิดใช้การแชร์ลิงก์สำหรับการดำเนินการหรือไม่ หากมี จะมีชื่อที่แสดงที่ใช้ได้ง่ายสำหรับลิงก์นั้น ActionLink เลิกใช้งานแล้ว โปรดใช้ AssistantLink แทน | 
| assistantLink | 
 การกำหนดค่าลิงก์สำหรับการทำงานซึ่งกำหนดว่าจะเปิดใช้การแชร์ลิงก์สำหรับการดำเนินการหรือไม่ หากมี จะมีชื่อที่แสดงที่ใช้ได้ง่ายสำหรับลิงก์นั้น | 
| dailyUpdate | 
 การตั้งค่าการอัปเดตรายวันที่การมีส่วนร่วมนี้รองรับ | 
PushNotification
กำหนดการตั้งค่าข้อความ Push ที่การมีส่วนร่วมนี้รองรับ
DailyUpdate
กำหนดการตั้งค่าการอัปเดตรายวันที่การมีส่วนร่วมนี้รองรับ
ActionLink
ระบุว่ามีการเปิดใช้การแชร์ลิงก์สำหรับการดำเนินการนี้และการตั้งค่าที่เกี่ยวข้องหรือไม่ ลิงก์การดำเนินการใช้สำหรับทำ Deep Link ผู้ใช้ไปยังการดำเนินการที่เฉพาะเจาะจง ActionLink เลิกใช้งานแล้ว โปรดใช้ AssistantLink แทน
| การแสดง JSON | |
|---|---|
| { "title": string } | |
| ช่อง | |
|---|---|
| title | 
 ชื่อที่แสดงซึ่งใช้งานง่ายสำหรับลิงก์ | 
AssistantLink
ระบุว่ามีการเปิดใช้การแชร์ลิงก์สำหรับการดำเนินการนี้และการตั้งค่าที่เกี่ยวข้องหรือไม่ ลิงก์ Assistant ใช้สำหรับทำ Deep Link ผู้ใช้ไปยังการดำเนินการที่เฉพาะเจาะจง
| การแสดง JSON | |
|---|---|
| { "title": string } | |
| ช่อง | |
|---|---|
| title | 
 ชื่อที่แสดงซึ่งใช้งานง่ายสำหรับลิงก์ | 
การตั้งค่า
แสดงการตั้งค่าของโปรเจ็กต์ Actions ที่ไม่ได้เจาะจงภาษา แท็กถัดไป: 22
| การแสดง JSON | |
|---|---|
| { "projectId": string, "defaultLocale": string, "enabledRegions": [ string ], "disabledRegions": [ string ], "category": enum ( | |
| ช่อง | |
|---|---|
| projectId | 
 รหัสโปรเจ็กต์ของ Actions | 
| defaultLocale | 
 ภาษาซึ่งเป็นค่าเริ่มต้นสำหรับโปรเจ็กต์ สำหรับไฟล์ทั้งหมดยกเว้นภายใต้  | 
| enabledRegions[] | 
 แสดงภูมิภาคที่ผู้ใช้สามารถเรียกใช้การดำเนินการของคุณได้ ซึ่งอิงตามตำแหน่งที่ตั้งของผู้ใช้ ไม่สามารถตั้งค่าได้หากตั้งค่า  | 
| disabledRegions[] | 
 แสดงภูมิภาคที่การดำเนินการของคุณถูกบล็อก โดยอิงตามตำแหน่งที่ผู้ใช้อยู่ ไม่สามารถตั้งค่าได้หากตั้งค่า  | 
| category | 
 หมวดหมู่ของโปรเจ็กต์ Actions นี้ | 
| usesTransactionsApi | 
 การดำเนินการใช้ธุรกรรมได้หรือไม่ (เช่น การจอง รับคำสั่งซื้อ ฯลฯ) หากเป็น "เท็จ" หมายความว่าความพยายามใช้ Transaction API ล้มเหลว | 
| usesDigitalPurchaseApi | 
 การดำเนินการสามารถทำธุรกรรมสำหรับสินค้าดิจิทัลได้หรือไม่ | 
| usesInteractiveCanvas | 
 การดำเนินการใช้ Canvas แบบอินเทอร์แอกทีฟหรือไม่ | 
| usesHomeStorage | 
 การดำเนินการใช้ฟีเจอร์พื้นที่เก็บข้อมูลในบ้านหรือไม่ | 
| designedForFamily | 
 เนื้อหา Actions ออกแบบมาสำหรับครอบครัวหรือไม่ (DFF) | 
| containsAlcoholOrTobaccoContent | 
 การดําเนินการมีเนื้อหาที่เกี่ยวกับแอลกอฮอล์หรือยาสูบหรือไม่ | 
| keepsMicOpen | 
 การดำเนินการอาจเปิดไมโครโฟนทิ้งไว้โดยไม่มีข้อความแจ้งที่ชัดแจ้งระหว่างการสนทนาหรือไม่ | 
| surfaceRequirements | 
 ข้อกำหนดของแพลตฟอร์มที่แพลตฟอร์มไคลเอ็นต์ต้องรองรับเพื่อเรียกใช้การดำเนินการในโปรเจ็กต์นี้ | 
| testingInstructions | 
 วิธีการทดสอบรูปแบบอิสระสำหรับผู้ตรวจสอบการดำเนินการ (เช่น วิธีการลิงก์บัญชี) | 
| localizedSettings | 
 การตั้งค่าที่แปลแล้วสำหรับภาษาเริ่มต้นของโปรเจ็กต์ ภาษาเพิ่มเติมทั้งหมดควรมีไฟล์การตั้งค่าของตัวเองในไดเรกทอรีของตัวเอง | 
| accountLinking | 
 อนุญาตให้ผู้ใช้สร้างหรือลิงก์บัญชีผ่าน Google Sign-In และ/หรือบริการ OAuth ของคุณเอง | 
| selectedAndroidApps[] | 
 แอป Android ที่เลือกให้เข้าถึงการซื้อใน Google Play สำหรับธุรกรรมได้ รายการนี้เป็นการเลือกจากแอป Android ที่เชื่อมต่อกับโปรเจ็กต์การดำเนินการเพื่อยืนยันการเป็นเจ้าของแบรนด์และเปิดใช้ฟีเจอร์เพิ่มเติม ดูข้อมูลเพิ่มเติมได้ที่ https://developers.google.com/assistant/console/brand-verification | 
หมวดหมู่
ตัวเลือกหมวดหมู่สำหรับโปรเจ็กต์การดำเนินการ
| Enum | |
|---|---|
| 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
ชุดความสามารถของพื้นผิวที่เป็นไปได้
| Enum | |
|---|---|
| SURFACE_CAPABILITY_UNSPECIFIED | ไม่รู้จัก / ไม่ระบุ | 
| AUDIO_OUTPUT | Surface รองรับเอาต์พุตเสียง | 
| SCREEN_OUTPUT | Surface รองรับหน้าจอ/เอาต์พุตภาพ | 
| MEDIA_RESPONSE_AUDIO | แพลตฟอร์มรองรับเสียงการตอบสนองสื่อ | 
| WEB_BROWSER | Surface รองรับเว็บเบราว์เซอร์ | 
| ACCOUNT_LINKING | แพลตฟอร์มรองรับการลิงก์บัญชี | 
| INTERACTIVE_CANVAS | Surface รองรับ 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 ( | |
| ช่อง | |
|---|---|
| displayName | 
 ต้องระบุ ชื่อที่แสดงเริ่มต้นสำหรับโปรเจ็กต์ Actions นี้ (หากไม่มีคำแปล) | 
| pronunciation | 
 ต้องระบุ การออกเสียงชื่อที่แสดงเพื่อกระตุ้นให้เกิดชื่อในบริบทเสียง (เสียงพูด) | 
| shortDescription | 
 ต้องระบุ คำอธิบายแบบย่อเริ่มต้นสำหรับโปรเจ็กต์การดำเนินการ (หากไม่มีคำแปล) 80 อักขระ | 
| fullDescription | 
 ต้องระบุ คำอธิบายแบบยาวเริ่มต้นสำหรับโปรเจ็กต์การดำเนินการ (หากไม่มีคำแปล) 4,000 ตัว | 
| smallLogoImage | 
 ต้องระบุ รูปภาพสี่เหลี่ยมจัตุรัสเล็กขนาด 192 x 192 พิกเซล ควรระบุเป็นการอ้างอิงไปยังรูปภาพที่เกี่ยวข้องในไดเรกทอรี  | 
| largeBannerImage | 
 ไม่บังคับ รูปภาพแนวนอนขนาดใหญ่ขนาด 1920 x 1080 พิกเซล ควรระบุเป็นการอ้างอิงไปยังรูปภาพที่เกี่ยวข้องในไดเรกทอรี  | 
| developerName | 
 ต้องระบุ ชื่อนักพัฒนาแอปที่จะแสดงต่อผู้ใช้ | 
| developerEmail | 
 ต้องระบุ อีเมลสำหรับติดต่อของนักพัฒนาแอป | 
| termsOfServiceUrl | 
 ไม่บังคับ URL ของข้อกำหนดในการให้บริการ | 
| voice | 
 ต้องระบุ ประเภทเสียงของ Google Assistant ที่ผู้ใช้จะได้ยินเมื่อโต้ตอบกับการดำเนินการของคุณ ค่าที่รองรับคือ "male_1", "male_2", "female_1" และ "female_2" | 
| voiceLocale | 
 ไม่บังคับ ภาษาของเสียงที่ระบุ หากไม่ได้ระบุ การตั้งค่านี้จะเปลี่ยนเป็นภาษาสำหรับ Assistant ของผู้ใช้ หากระบุ ภาษาของเสียงต้องมีภาษารากเดียวกันกับภาษาที่ระบุใน LocalizedSettings | 
| privacyPolicyUrl | 
 ต้องระบุ URL ของนโยบายความเป็นส่วนตัว | 
| sampleInvocations[] | 
 ไม่บังคับ ตัวอย่างวลีคำขอที่แสดงเป็นส่วนหนึ่งของคำอธิบายโปรเจ็กต์ Actions ในไดเรกทอรี Assistant ซึ่งจะช่วยให้ผู้ใช้เรียนรู้วิธีใช้งาน | 
| themeCustomization | 
 ไม่บังคับ การปรับแต่งธีมสำหรับคอมโพเนนต์ภาพของการดำเนินการ | 
ThemeCustomization
รูปแบบที่ใช้กับการ์ดที่แสดงต่อผู้ใช้
| การแสดง JSON | |
|---|---|
| {
  "backgroundColor": string,
  "primaryColor": string,
  "fontFamily": string,
  "imageCornerStyle": enum ( | |
| ช่อง | |
|---|---|
| backgroundColor | 
 สีพื้นหลังของการ์ด ทำหน้าที่เป็นตัวเลือกสำรองหากนักพัฒนาซอฟต์แวร์ไม่ได้ให้  | 
| primaryColor | 
 ระบบจะใช้สีธีมหลักของการดําเนินการเพื่อตั้งค่าสีข้อความของชื่อ และสีพื้นหลังของรายการการทำงานสําหรับการ์ด Actions on Google ตัวอย่างการใช้: #FAFAFA | 
| fontFamily | 
 ชุดแบบอักษรที่จะใช้สำหรับชื่อของการ์ด แบบอักษรที่รองรับ: - Sans Serif - Sans Serif Medium - Sans Serif Bold - Sans Serif Black - Sans Serif Condensed - Sans Serif Condensed Medium - Serif - Serif Bold - Monospace - Cursive - Sans Serif Smallcaps | 
| imageCornerStyle | 
 รูปแบบเส้นขอบของรูปภาพเบื้องหน้าของการ์ด เช่น สามารถใช้กับรูปภาพเบื้องหน้าของการ์ดพื้นฐานหรือการ์ดภาพสไลด์ | 
| landscapeBackgroundImage | 
 โหมดแนวนอน (ขั้นต่ำ 1920x1200 พิกเซล) ควรระบุเป็นการอ้างอิงไปยังรูปภาพที่เกี่ยวข้องในไดเรกทอรี  | 
| portraitBackgroundImage | 
 โหมดแนวตั้ง (ขั้นต่ำ 1200x1920 พิกเซล) ควรระบุเป็นการอ้างอิงไปยังรูปภาพที่เกี่ยวข้องในไดเรกทอรี  | 
ImageCornerStyle
อธิบายวิธีแสดงผลเส้นขอบของรูปภาพ
| Enum | |
|---|---|
| IMAGE_CORNER_STYLE_UNSPECIFIED | ไม่ระบุ / ไม่ระบุ | 
| CURVED | มุมมนสำหรับรูปภาพ | 
| ANGLED | มุมสี่เหลี่ยมผืนผ้าสำหรับรูปภาพ | 
AccountLinking
การลิงก์บัญชีทำให้ Google แนะนำผู้ใช้ในการลงชื่อเข้าใช้บริการบนเว็บของแอปได้
สําหรับประเภทการลิงก์ Google Sign-In และ OAuth + Google Sign-In นั้น Google จะสร้างรหัสไคลเอ็นต์ที่ระบุแอปของคุณให้กับ Google ("รหัสไคลเอ็นต์ที่ Google ออกให้กับการดำเนินการของคุณ" ใน UI ของคอนโซล) ช่องนี้เป็นแบบอ่านอย่างเดียวและจะตรวจสอบได้โดยไปที่หน้าการลิงก์บัญชีของ Console UI ดูที่ https://developers.google.com/assistant/identity/google-sign-in
หมายเหตุ: สำหรับการตั้งค่าการลิงก์บัญชีทุกประเภท (ยกเว้น Google Sign-In) คุณต้องระบุชื่อผู้ใช้และรหัสผ่านของบัญชีทดสอบใน Settings.testing_instructions เพื่อให้ทีมตรวจสอบตรวจสอบแอป (ผู้ใช้จะไม่เห็นข้อมูลนี้)
| การแสดง JSON | |
|---|---|
| { "enableAccountCreation": boolean, "linkingType": enum ( | |
| ช่อง | |
|---|---|
| enableAccountCreation | 
 ต้องระบุ หากเป็น  | 
| linkingType | 
 ต้องระบุ ประเภทการลิงก์ที่จะใช้ ดูรายละเอียดเพิ่มเติมเกี่ยวกับประเภทการลิงก์ได้ที่ https://developers.google.com/assistant/identity | 
| authGrantType | 
 ไม่บังคับ ระบุประเภทของการตรวจสอบสิทธิ์สำหรับ linkType ของ OAUTH | 
| appClientId | 
 ไม่บังคับ รหัสไคลเอ็นต์ที่แอปของคุณออกให้กับ Google นี่คือรหัสไคลเอ็นต์ OAuth2 ที่ระบุ Google ไปยังบริการของคุณ ให้ตั้งค่าเมื่อใช้ OAuth เท่านั้น | 
| authorizationUrl | 
 ไม่บังคับ ปลายทางสำหรับหน้าเว็บลงชื่อเข้าใช้ที่รองรับโค้ด OAuth2 หรือขั้นตอนโดยนัย URL ต้องใช้ HTTPS ให้ตั้งค่าเมื่อใช้ OAuth เท่านั้น | 
| tokenUrl | 
 ไม่บังคับ ปลายทาง OAuth2 สำหรับการแลกเปลี่ยนโทเค็น URL ต้องใช้ HTTPS ระบบจะไม่ตั้งค่านี้เมื่อใช้ OAuth ที่มีการให้สิทธิ์ IMPLICIT เป็นประเภทการลิงก์เท่านั้น ให้ตั้งค่าเมื่อใช้ OAuth เท่านั้น | 
| scopes[] | 
 ไม่บังคับ รายการสิทธิ์ที่ผู้ใช้ต้องให้ความยินยอมเพื่อใช้บริการ ให้ตั้งค่าเมื่อใช้ OAuth เท่านั้น โปรดตรวจสอบว่าได้ระบุข้อกำหนดในการให้บริการไว้ในข้อมูลไดเรกทอรีในส่วน LocalizedSettings.terms_of_service_url หากมีการระบุช่องนี้ | 
| learnMoreUrl | 
 ไม่บังคับ นี่คือหน้าเว็บในบริการของคุณซึ่งอธิบายสิทธิ์ที่ผู้ใช้ให้กับ Google ให้ตั้งค่าเมื่อใช้ OAuth และ Google Sign-In เท่านั้น โปรดตรวจสอบว่าได้ระบุข้อกำหนดในการให้บริการไว้ในข้อมูลไดเรกทอรีในส่วน LocalizedSettings.terms_of_service_url หากมีการระบุช่องนี้ | 
| useBasicAuthHeader | 
 ไม่บังคับ หากเป็น "จริง" อนุญาตให้ Google ส่งรหัสไคลเอ็นต์และข้อมูลลับผ่านส่วนหัวการตรวจสอบสิทธิ์พื้นฐาน HTTP มิฉะนั้น Google จะใช้รหัสไคลเอ็นต์และข้อมูลลับภายในเนื้อหาของโพสต์ ให้ตั้งค่าเมื่อใช้ OAuth เท่านั้น โปรดตรวจสอบว่าได้ระบุข้อกำหนดในการให้บริการไว้ในข้อมูลไดเรกทอรีในส่วน LocalizedSettings.terms_of_service_url หากมีการระบุช่องนี้ | 
LinkingType
ประเภทของการลิงก์บัญชีที่ควรใช้
| Enum | |
|---|---|
| LINKING_TYPE_UNSPECIFIED | ไม่ระบุ | 
| GOOGLE_SIGN_IN | ประเภทการลิงก์ Google Sign-In หากใช้การลิงก์ประเภทนี้ ก็ไม่จําเป็นต้องตั้งค่าช่องที่เกี่ยวข้องกับ OAuth ด้านล่าง | 
| OAUTH_AND_GOOGLE_SIGN_IN | ประเภทการลิงก์ OAuth และ Google Sign In | 
| OAUTH | ประเภทการลิงก์ OAuth | 
AuthGrantType
ประเภทการให้สิทธิ์ OAuth2 ที่ Google ใช้เพื่อแนะนำให้ผู้ใช้ลงชื่อเข้าใช้บริการบนเว็บของแอป
| Enum | |
|---|---|
| AUTH_GRANT_TYPE_UNSPECIFIED | ไม่ระบุ | 
| AUTH_CODE | การให้สิทธิ์รหัสการให้สิทธิ์ คุณต้องระบุทั้ง URL การตรวจสอบสิทธิ์และ URL ของโทเค็นเพื่อการเข้าถึง | 
| IMPLICIT | การให้สิทธิ์โค้ดโดยปริยาย ระบุเพียง URL การตรวจสอบสิทธิ์เท่านั้น | 
เว็บฮุค
ข้อมูลเมตาสำหรับเว็บฮุคประเภทต่างๆ หากคุณใช้ inlineCloudFunction ซอร์สโค้ดของคุณต้องอยู่ในไดเรกทอรีที่มีชื่อเดียวกับค่าสำหรับคีย์ executeFunction ตัวอย่างเช่น ค่า my_webhook สำหรับคีย์ executeFunction จะมีโครงสร้างโค้ดดังนี้ - /webhooks/my_webhook.yaml - /webhooks/my_webhook/index.js - /webhooks/my_webhook/package.json
| การแสดง JSON | |
|---|---|
| { "handlers": [ { object ( | |
| ช่อง | ||
|---|---|---|
| handlers[] | 
 รายการเครื่องจัดการสำหรับเว็บฮุคนี้ | |
| ช่องการรวม webhook_typeระบบรองรับเว็บฮุคเพียงประเภทเดียวwebhook_typeต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| httpsEndpoint | 
 ปลายทาง HTTPS ของเว็บฮุคที่กำหนดเอง | |
| inlineCloudFunction | 
 ข้อมูลเมตาสำหรับ Cloud Function ที่ทำให้ใช้งานได้จากโค้ดในโฟลเดอร์เว็บฮุค | |
ตัวแฮนเดิล
ประกาศชื่อของเครื่องจัดการ Webhoook เว็บฮุคลงทะเบียนตัวแฮนเดิลได้หลายรายการ คุณเรียกเครื่องจัดการเหล่านี้ได้จากหลายแห่งในโปรเจ็กต์ Actions
| การแสดง JSON | |
|---|---|
| { "name": string } | |
| ช่อง | |
|---|---|
| name | 
 ต้องระบุ ชื่อของเครื่องจัดการ ต้องไม่ซ้ำกันในตัวแฮนเดิลทั้งหมดในโปรเจ็กต์ Actions คุณตรวจสอบชื่อของเครื่องจัดการนี้เพื่อเรียกใช้ฟังก์ชันที่ถูกต้องในซอร์สโค้ดของการดำเนินการตามคำสั่งซื้อได้ | 
HttpsEndpoint
ปลายทาง REST จะแจ้งหากคุณไม่ใช้ตัวแก้ไขในบรรทัด
| การแสดง JSON | |
|---|---|
| { "baseUrl": string, "httpHeaders": { string: string, ... }, "endpointApiVersion": integer } | |
| ช่อง | |
|---|---|
| baseUrl | 
 URL ฐานแบบ HTTPS สำหรับปลายทางของการดำเนินการตามคำสั่งซื้อ (ไม่รองรับ HTTP) ชื่อเครื่องจัดการจะต่อท้ายเส้นทาง URL พื้นฐานหลังเครื่องหมายทวิภาค (ตามคู่มือรูปแบบใน https://cloud.google.com/apis/design/custom_methods) เช่น URL ฐานเป็น "https://gactions.service.com/api" จะได้รับคำขอที่มี URL "https://gactions.service.com/api:{method}" | 
| httpHeaders | 
 แมปของพารามิเตอร์ HTTP ที่จะรวมอยู่ในคำขอ POST ออบเจ็กต์ที่มีรายการคู่  | 
| endpointApiVersion | 
 เวอร์ชันของโปรโตคอลที่ปลายทางใช้ โปรโตคอลนี้เป็นโปรโตคอลที่ใช้ร่วมกันในการจำหน่ายทุกประเภท ไม่ใช่เฉพาะกับประเภทการดำเนินการตามคำสั่งซื้อของ Google | 
InlineCloudFunction
เก็บข้อมูลเมตาของ Cloud Function แบบอินไลน์ซึ่งทำให้ใช้งานได้จากโฟลเดอร์เว็บฮุค
| การแสดง JSON | |
|---|---|
| { "executeFunction": string } | |
| ช่อง | |
|---|---|
| executeFunction | 
 ชื่อของจุดแรกเข้า Cloud Function ค่าของช่องนี้ควรตรงกับชื่อของวิธีที่ส่งออกจากซอร์สโค้ด | 
ความตั้งใจ
Intent จะแมปอินพุตของผู้ใช้แบบปลายเปิดกับออบเจ็กต์ที่มีโครงสร้าง วลีที่พูดจะจับคู่กับ Intent ด้วย Natural Language Understanding (NLU) ของ Google การจับคู่ Intent จะทริกเกอร์เหตุการณ์ในการออกแบบการสนทนาให้คืบหน้าการสนทนาของผู้ใช้ ชื่อ Intent จะระบุอยู่ในชื่อไฟล์
| การแสดง JSON | |
|---|---|
| {
  "parameters": [
    {
      object ( | |
| ช่อง | |
|---|---|
| parameters[] | 
 รายการพารามิเตอร์ภายในวลีการฝึก ต้องกำหนดพารามิเตอร์ทั้งหมดที่นี่เพื่อใช้ในวลีการฝึก | 
| trainingPhrases[] | 
 วลีการฝึกอบรมช่วยให้ NLU ของ Google จับคู่ความตั้งใจกับข้อมูลจากผู้ใช้ได้โดยอัตโนมัติ ยิ่งมีวลีที่ไม่ซ้ำกันมากเท่าใด ก็ยิ่งมีโอกาสที่จะจับคู่ความตั้งใจนี้มากขึ้นเท่านั้น ต่อไปนี้เป็นรูปแบบของส่วนของวลีการฝึกที่มีคำอธิบายประกอบ โปรดทราบว่าช่อง  | 
IntentParameter
คำจำกัดความของพารามิเตอร์ที่สามารถใช้ภายในวลีการฝึก
| การแสดง JSON | |
|---|---|
| { "name": string, // Union field | |
| ช่อง | ||
|---|---|---|
| name | 
 ต้องระบุ ชื่อที่ไม่ซ้ำกันของพารามิเตอร์ Intent ใช้ได้ในเงื่อนไขและการตอบกลับเพื่ออ้างอิงพารามิเตอร์ Intent ที่ดึงโดย NLU ด้วย $intent.params.[name].resolved | |
| ช่องการรวม parameter_typeประเภทของพารามิเตอร์ Intentparameter_typeต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| type | 
 ไม่บังคับ ประกาศประเภทข้อมูลของพารามิเตอร์นี้ ไม่ควรตั้งค่านี้สำหรับ Intent ในตัว | |
| entitySetReferences | 
 ไม่บังคับ การอ้างอิงไปยังชุดของเอนทิตีที่อนุญาตสำหรับพารามิเตอร์ Intent นี้ ใช้ได้กับพารามิเตอร์ของ Intent ในตัวเท่านั้น การอ้างอิงเหล่านี้ชี้ไปที่ชุดเอนทิตีใน "custom/entitySets" ไดเรกทอรี | |
ClassReference
การอ้างอิงคลาสซึ่งใช้เพื่อประกาศประเภทของช่องหรือแสดงผลค่า Enum เป็นคลาสประเภทหนึ่งที่อ้างอิงถึงโดยใช้ ClassReference ได้
| การแสดง JSON | |
|---|---|
| { "name": string, "list": boolean } | |
| ช่อง | |
|---|---|
| name | 
 ต้องระบุ ชื่อของประเภทในตัวหรือประเภทพารามิเตอร์ที่กำหนดเอง ตัวอย่าง:  | 
| list | 
 ไม่บังคับ ระบุว่าประเภทข้อมูลแสดงรายการค่าหรือไม่ | 
EntitySetReferences
การอ้างอิงชุดเอนทิตีสำหรับพารามิเตอร์ Intent
| การแสดง JSON | |
|---|---|
| {
  "entitySetReferences": [
    {
      object ( | |
| ช่อง | |
|---|---|
| entitySetReferences[] | 
 ต้องระบุ การอ้างอิงชุดเอนทิตีสำหรับพารามิเตอร์ Intent | 
EntitySetReference
การอ้างอิงชุดของเอนทิตีที่อนุญาตสำหรับพารามิเตอร์ Intent นี้
| การแสดง JSON | |
|---|---|
| { "entitySet": string } | |
| ช่อง | |
|---|---|
| entitySet | 
 ต้องระบุ ระบุคอลเล็กชันเอนทิตีเฉพาะที่จะพิจารณาสำหรับพารามิเตอร์ที่ระบุ การกำหนดชุดเอนทิตีที่เกี่ยวข้องควรแสดงอยู่ในไดเรกทอรี custom/entitySets/ | 
ประเภท
การประกาศประเภทที่กำหนดเอง ไม่ใช่ประเภทในตัว คุณกำหนดประเภทให้กับสล็อตในฉากหรือพารามิเตอร์ของวลีการฝึกของ Intent ได้ ในทางปฏิบัติ ประเภทอาจหมายถึง Enum โปรดทราบว่าชื่อประเภทจะระบุอยู่ในชื่อไฟล์
| การแสดง JSON | |
|---|---|
| { "exclusions": [ string ], // Union field | |
| ช่อง | ||
|---|---|---|
| exclusions[] | 
 ชุดคำ/วลีพิเศษที่ไม่ควรจับคู่กับประเภท หมายเหตุ: หากคำ/วลีตรงกับประเภทแต่แสดงเป็นการยกเว้น ระบบจะไม่แสดงผลคำ/วลีในผลลัพธ์การดึงข้อมูลพารามิเตอร์ ช่องนี้แปลได้ | |
| ช่องการรวม sub_typeการเลือกประเภทย่อยขึ้นอยู่กับประเภทการจับคู่ที่จะดำเนินการsub_typeต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| synonym | 
 ประเภทคำพ้องความหมาย โดยพื้นฐานแล้วก็คือ enum | |
| regularExpression | 
 ประเภทนิพจน์ทั่วไป อนุญาตการจับคู่นิพจน์ทั่วไป | |
| freeText | 
 ประเภท FreeText | |
SynonymType
พิมพ์ที่ตรงกับข้อความตามชุดคำพ้องความหมาย
| การแสดง JSON | |
|---|---|
| { "matchType": enum ( | |
| ช่อง | |
|---|---|
| matchType | 
 ไม่บังคับ ประเภทการทำงานของคีย์เวิร์ดสำหรับคำพ้องความหมาย | 
| acceptUnknownValues | 
 ไม่บังคับ เมื่อตั้งค่าเป็น "จริง" ระบบจะจับคู่คำหรือวลีที่ไม่รู้จักโดยอิงตามอินพุตและข้อมูลการฝึกความตั้งใจโดยรอบ เช่น สินค้าที่อาจเพิ่มลงในรายการของที่ต้องซื้อ | 
| entities | 
 ต้องระบุ แมปที่มีชื่อของเอนทิตีคำพ้องความหมาย ออบเจ็กต์ที่มีรายการคู่  | 
MatchType
ประเภทของการจับคู่ที่รายการในประเภทนี้จะใช้ ซึ่งจะช่วยให้แน่ใจว่าประเภทต่างๆ ทั้งหมดใช้วิธีการจับคู่แบบเดียวกัน และอนุญาตให้มีการจับคู่ในรูปแบบอื่นๆ สำหรับการจับคู่คำพ้องความหมาย (เช่น แบบ Fuzzy กับแบบตรงกันทั้งหมด) หากค่านี้เป็น UNSPECIFIED ค่าเริ่มต้นจะเป็น EXACT_MATCH
| Enum | |
|---|---|
| UNSPECIFIED | ค่าเริ่มต้นคือ EXACT_MATCH | 
| EXACT_MATCH | ค้นหาคำพ้องความหมายหรือชื่อให้ตรงกันทั้งหมด | 
| FUZZY_MATCH | น้อยกว่า EXACT_MATCHค้นหารายการที่ตรงกันและรายการที่ตรงกันทั้งหมด | 
เอนทิตี
หมายถึงช่องเอนทิตีคำพ้องความหมายที่มีรายละเอียดของรายการเดียวภายในประเภทนั้นๆ
| การแสดง JSON | |
|---|---|
| {
  "display": {
    object ( | |
| ช่อง | |
|---|---|
| display | 
 ไม่บังคับ เอนทิตีแสดงรายละเอียด | 
| synonyms[] | 
 ไม่บังคับ รายการคำพ้องความหมายสำหรับเอนทิตี ช่องนี้แปลได้ | 
EntityDisplay
องค์ประกอบที่จะแสดงบนผืนผ้าใบเมื่อดึงเอนทิตีของประเภทหนึ่งๆ ออกจากคำค้นหา เกี่ยวข้องกับแอปที่เปิดใช้ Canvas เท่านั้น ข้อความนี้แปลได้
| การแสดง JSON | |
|---|---|
| { "iconTitle": string, "iconUrl": string } | |
| ช่อง | |
|---|---|
| iconTitle | 
 ไม่บังคับ ชื่อไอคอน | 
| iconUrl | 
 ต้องระบุ URL ของไอคอน | 
RegularExpressionType
พิมพ์ที่ตรงกับข้อความตามนิพจน์ทั่วไป ข้อความนี้แปลได้
| การแสดง JSON | |
|---|---|
| {
  "entities": {
    string: {
      object ( | |
| ช่อง | |
|---|---|
| entities | 
 ต้องระบุ แมปที่มีชื่อของเอนทิตีซึ่งแต่ละรายการมีสตริงนิพจน์ทั่วไป ออบเจ็กต์ที่มีรายการคู่  | 
เอนทิตี
แสดงออบเจ็กต์เอนทิตีที่มีนิพจน์ทั่วไปที่ใช้สำหรับการเปรียบเทียบ
| การแสดง JSON | |
|---|---|
| {
  "display": {
    object ( | |
| ช่อง | |
|---|---|
| display | 
 ไม่บังคับ องค์ประกอบที่จะแสดงบนผืนผ้าใบเมื่อดึงเอนทิตีออกจากการค้นหา เกี่ยวข้องกับแอปที่เปิดใช้ Canvas เท่านั้น | 
| regularExpressions[] | 
 ต้องระบุ ใช้ไวยากรณ์นิพจน์ทั่วไป RE2 (ดูรายละเอียดเพิ่มเติมที่ https://github.com/google/re2/wiki/Syntax) | 
FreeTextType
พิมพ์ที่ตรงกับข้อความใดก็ได้หากบริบทของคำโดยรอบอยู่ใกล้กับตัวอย่างการฝึกที่ระบุ
| การแสดง JSON | |
|---|---|
| {
  "display": {
    object ( | |
| ช่อง | |
|---|---|
| display | 
 ไม่บังคับ องค์ประกอบที่จะแสดงบนผืนผ้าใบเมื่อดึงเอนทิตีออกจากการค้นหา เกี่ยวข้องกับแอปที่เปิดใช้ Canvas เท่านั้น | 
EntitySet
ชุดเอนทิตีอธิบายชุดเอนทิตีที่กำหนดไว้ล่วงหน้าซึ่งเป็นที่มาของค่าของพารามิเตอร์ Intent ในตัว อ้างอิงชุดเอนทิตีจากentitySet ในพารามิเตอร์ Intent ในตัวได้
| การแสดง JSON | |
|---|---|
| {
  "entities": [
    {
      object ( | |
| ช่อง | |
|---|---|
| entities[] | 
 ต้องระบุ รายการของเอนทิตีที่ชุดเอนทิตีนี้รองรับ | 
เอนทิตี
เอนทิตีที่ใช้ค่าพารามิเตอร์ Intent ในตัว
| การแสดง JSON | |
|---|---|
| { "id": string } | |
| ช่อง | |
|---|---|
| id | 
 ต้องระบุ รหัสของเอนทิตี ดูรายการพารามิเตอร์ในตัวและเอนทิตีที่รองรับได้ที่ https://developers.google.com/assistant/conversational/build/built-in-intents | 
GlobalIntentEvent
กำหนดเครื่องจัดการ Intent ร่วม เหตุการณ์ Intent ส่วนกลางกำหนดขอบเขตไว้สำหรับโปรเจ็กต์ Actions ทั้งหมด และอาจลบล้างโดยตัวแฮนเดิล Intent ในโหมดหนึ่งๆ ชื่อ Intent ต้องไม่ซ้ำกันภายในโปรเจ็กต์การดำเนินการ
คุณจับคู่ Intent ส่วนกลางได้ทุกเมื่อในระหว่างเซสชัน ซึ่งทำให้ผู้ใช้เข้าถึงขั้นตอนทั่วไป เช่น "รับความช่วยเหลือ" ได้ หรือ "กลับไปหน้าแรก" นอกจากนี้ยังใช้เพื่อทํา Deep Link ผู้ใช้ไปยังขั้นตอนที่เฉพาะเจาะจงเมื่อผู้ใช้เรียกใช้การดําเนินการได้ด้วย
โปรดทราบว่าชื่อ Intent จะระบุไว้ในชื่อไฟล์
| การแสดง JSON | |
|---|---|
| {
  "transitionToScene": string,
  "handler": {
    object ( | |
| ช่อง | |
|---|---|
| transitionToScene | 
 ไม่บังคับ ฉากปลายทางที่การสนทนาควรข้ามไป สถานะของฉากปัจจุบันจะถูกทำลายเมื่อเปลี่ยน | 
| handler | 
 ไม่บังคับ ตัวแฮนเดิลเหตุการณ์ซึ่งทริกเกอร์เมื่อตรงกับ Intent ควรดำเนินการก่อนเปลี่ยนเป็นโหมดปลายทาง มีประโยชน์ในการสร้างพรอมต์เพื่อตอบกลับเหตุการณ์ | 
EventHandler
กำหนดเครื่องจัดการที่จะดำเนินการหลังจากเหตุการณ์ ตัวอย่างของเหตุการณ์ ได้แก่ เหตุการณ์ที่อิงตามความตั้งใจและเหตุการณ์ในฉาก
| การแสดง JSON | |
|---|---|
| { "webhookHandler": string, // Union field | |
| ช่อง | ||
|---|---|---|
| webhookHandler | 
 ชื่อของตัวแฮนเดิลเว็บฮุคที่จะเรียกใช้ | |
| ช่องการรวม 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[] | 
 ต้องระบุ ความสามารถของแพลตฟอร์มในการส่งคำขอไปยังการดำเนินการ | 
ความสามารถ
ความสามารถของแพลตฟอร์มของอุปกรณ์ ณ เวลาที่ขอ
| Enum | |
|---|---|
| UNSPECIFIED | ความสามารถของพื้นผิวที่ไม่ระบุ | 
| SPEECH | อุปกรณ์พูดคุยกับผู้ใช้ผ่านการอ่านออกเสียงข้อความหรือ SSML ได้ | 
| RICH_RESPONSE | อุปกรณ์สามารถแสดงคำตอบที่สมบูรณ์ เช่น การ์ด รายการ และตาราง | 
| LONG_FORM_AUDIO | อุปกรณ์เล่นสื่อเสียงแบบยาวได้ เช่น เพลงและพอดแคสต์ | 
| INTERACTIVE_CANVAS | อุปกรณ์แสดงการตอบกลับแคนวาสแบบอินเทอร์แอกทีฟได้ | 
| WEB_LINK | อุปกรณ์ใช้เว็บลิงก์ในคำตอบที่เป็นสื่อสมบูรณ์เพื่อเปิดเว็บเบราว์เซอร์ได้ | 
| HOME_STORAGE | อุปกรณ์รองรับการบันทึกและดึงข้อมูลพื้นที่เก็บข้อมูลในบ้าน | 
StaticPromptResponse
แสดงคำตอบที่มีโครงสร้างที่จะส่งให้ผู้ใช้ เช่น ข้อความ คำพูด การ์ด ข้อมูล Canvas ชิปคำแนะนำ ฯลฯ
| การแสดง JSON | |
|---|---|
| { "firstSimple": { object ( | |
| ช่อง | |
|---|---|
| firstSimple | 
 ไม่บังคับ คำตอบแรกที่เป็นเสียงและข้อความเท่านั้น | 
| content | 
 ไม่บังคับ เนื้อหา เช่น การ์ด รายการ หรือสื่อที่จะแสดงต่อผู้ใช้ | 
| lastSimple | 
 ไม่บังคับ คำตอบแบบเสียงและข้อความสุดท้าย | 
| suggestions[] | 
 ไม่บังคับ คำแนะนำที่แสดงต่อผู้ใช้ซึ่งจะปรากฏท้ายคำตอบเสมอ หากช่อง  | 
| link | 
 ไม่บังคับ ชิปคำแนะนำเพิ่มเติมที่สามารถลิงก์ไปยังแอปหรือเว็บไซต์ที่เกี่ยวข้องได้ ระบบจะแสดงผลชิปโดยใช้ชื่อ "เปิด  | 
| override | 
 ไม่บังคับ โหมดสำหรับวิธีผสานข้อความนี้กับข้อความที่กำหนดไว้ก่อนหน้า  | 
| canvas | 
 คำตอบที่จะนำไปใช้สำหรับประสบการณ์ Canvas แบบอินเทอร์แอกทีฟ | 
StaticSimplePrompt
หมายถึงข้อความแจ้งง่ายๆ ที่จะส่งถึงผู้ใช้
| การแสดง JSON | |
|---|---|
| {
  "variants": [
    {
      object ( | |
| ช่อง | |
|---|---|
| variants[] | 
 รายการตัวแปรที่เป็นไปได้ | 
ตัวแปร
แสดงตัวแปรที่เป็นส่วนหนึ่งของพรอมต์ง่ายๆ
| การแสดง JSON | |
|---|---|
| { "speech": string, "text": string } | |
| ช่อง | |
|---|---|
| speech | 
 ไม่บังคับ หมายถึงคำพูดที่ผู้ใช้พูด อาจเป็น SSML หรือการอ่านออกเสียงข้อความ โดยค่าเริ่มต้น เสียงพูดจะต่อท้ายเสียงพูดของพรอมต์ง่ายๆ ก่อนหน้า หากช่อง  | 
| text | 
 ไม่บังคับ ข้อความที่จะแสดงในบับเบิลแชท หากไม่ระบุ ระบบจะใช้การแสดงผลฟิลด์เสียงพูดด้านบน มีอักขระได้ไม่เกิน 640 ตัว โดยค่าเริ่มต้น ระบบจะต่อท้ายข้อความพรอมต์แบบง่ายก่อนหน้า หากช่อง  | 
StaticContentPrompt
ตัวยึดตำแหน่งสำหรับส่วน Content ของ StaticPrompt
| การแสดง JSON | |
|---|---|
| { // Union field | |
| ช่อง | ||
|---|---|---|
| ช่องการรวม contentแสดงเนื้อหาได้เพียงประเภทเดียวในพรอมต์contentต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| card | 
 บัตรพื้นฐาน | |
| image | 
 รูปภาพ | |
| table | 
 การ์ดตาราง | |
| media | 
 การตอบกลับที่ระบุชุดสื่อที่จะเล่น | |
| list | 
 การ์ดสำหรับแสดงรายการตัวเลือกที่มีให้เลือก | |
| collection | 
 การ์ดแสดงรายการตัวเลือกที่มีให้เลือก | |
| collectionBrowse | 
 การ์ดแสดงคอลเล็กชันหน้าเว็บที่จะเปิด | |
StaticCardPrompt
การ์ดพื้นฐานสำหรับแสดงข้อมูลบางอย่าง เช่น รูปภาพและ/หรือข้อความ
| การแสดง JSON | |
|---|---|
| { "title": string, "subtitle": string, "text": string, "image": { object ( | |
| ช่อง | |
|---|---|
| title | 
 ไม่บังคับ ชื่อโดยรวมของการ์ด | 
| subtitle | 
 ไม่บังคับ คำบรรยายของการ์ด | 
| text | 
 ต้องระบุ ข้อความเนื้อหาของการ์ดซึ่งจำเป็นต้องใช้ เว้นแต่จะมีรูปภาพอยู่ รองรับชุดไวยากรณ์มาร์กดาวน์สำหรับการจัดรูปแบบแบบจำกัด | 
| image | 
 ไม่บังคับ รูปภาพหลักของการ์ด ความสูงกำหนดไว้ที่ 192dp | 
| imageFill | 
 ไม่บังคับ วิธีเติมพื้นหลังของรูปภาพ | 
| button | 
 ไม่บังคับ ปุ่มที่คลิกได้เพื่อแสดงในการ์ด | 
StaticImagePrompt
รูปภาพที่แสดงในการ์ด
| การแสดง JSON | |
|---|---|
| { "url": string, "alt": string, "height": integer, "width": integer } | |
| ช่อง | |
|---|---|
| url | 
 ต้องระบุ URL แหล่งที่มาของรูปภาพ รูปภาพสามารถใช้เป็น JPG, PNG และ GIF (ทั้งเป็นภาพเคลื่อนไหวและไม่เคลื่อนไหว) ตัวอย่างเช่น | 
| alt | 
 ต้องระบุ ข้อความอธิบายรูปภาพที่ใช้สำหรับการเข้าถึง เช่น โปรแกรมอ่านหน้าจอ | 
| height | 
 ไม่บังคับ ความสูงของรูปภาพเป็นพิกเซล | 
| width | 
 ไม่บังคับ ความกว้างของรูปภาพเป็นพิกเซล | 
ImageFill
ตัวเลือกการแสดงรูปภาพที่อาจมีผลกับการนำเสนอรูปภาพ ควรใช้เมื่อสัดส่วนภาพของรูปภาพไม่ตรงกับสัดส่วนภาพของคอนเทนเนอร์รูปภาพ
| Enum | |
|---|---|
| UNSPECIFIED | ไม่ได้ระบุ ImageFill | 
| GRAY | เติมช่องว่างระหว่างรูปภาพและคอนเทนเนอร์รูปภาพด้วยแถบสีเทา | 
| WHITE | เติมช่องว่างระหว่างรูปภาพและที่เก็บรูปภาพด้วยแถบสีขาว | 
| CROPPED | มีการปรับขนาดรูปภาพเพื่อให้ความกว้างและความสูงของรูปภาพตรงกันหรือเกินขนาดของคอนเทนเนอร์ การดำเนินการนี้อาจครอบตัดด้านบนและด้านล่างของรูปภาพหากความสูงของรูปภาพที่ปรับขนาดแล้วมากกว่าความสูงของคอนเทนเนอร์ หรือครอบตัดด้านซ้ายและขวาของรูปภาพหากความกว้างของรูปภาพที่มีการปรับขนาดมากกว่าความกว้างของคอนเทนเนอร์ ซึ่งคล้ายกับ "โหมดซูม" บนทีวีจอกว้าง เมื่อเล่นวิดีโอ 4:3 | 
StaticLinkPrompt
กำหนดลิงก์ซึ่งจะแสดงเป็นชิปคำแนะนำและผู้ใช้สามารถเปิดได้
| การแสดง JSON | |
|---|---|
| {
  "name": string,
  "open": {
    object ( | |
| ช่อง | |
|---|---|
| name | 
 ชื่อของลิงก์ | 
| open | 
 กำหนดลักษณะการทำงานเมื่อผู้ใช้เปิดลิงก์ | 
OpenUrl
กำหนดลักษณะการทำงานเมื่อผู้ใช้เปิดลิงก์
| การแสดง JSON | |
|---|---|
| {
  "url": string,
  "hint": enum ( | |
| ช่อง | |
|---|---|
| url | 
 ฟิลด์ URL อาจเป็นรายการใดก็ได้ต่อไปนี้ - URL http/https สำหรับเปิดแอปที่ลิงก์กับแอปหรือหน้าเว็บ | 
| hint | 
 เป็นคำแนะนำสำหรับประเภท URL | 
UrlHint
คำแนะนำ URL ประเภทต่างๆ
| Enum | |
|---|---|
| HINT_UNSPECIFIED | ไม่ระบุ | 
| AMP | URL ที่ชี้ไปยังเนื้อหา AMP โดยตรง หรือไปยัง Canonical URL ซึ่งอ้างถึงเนื้อหา AMP ผ่าน <link rel="amphtml"> | 
StaticTablePrompt
การ์ดตารางสำหรับแสดงตารางข้อความ
| การแสดง JSON | |
|---|---|
| { "title": string, "subtitle": string, "image": { object ( | |
| ช่อง | |
|---|---|
| title | 
 ไม่บังคับ ชื่อโดยรวมของตาราง ต้องตั้งค่าหากมีการตั้งค่าคำบรรยาย | 
| subtitle | 
 ไม่บังคับ ชื่อรองของตาราง | 
| image | 
 ไม่บังคับ รูปภาพที่เชื่อมโยงกับตาราง | 
| columns[] | 
 ไม่บังคับ ส่วนหัวและการจัดแนวคอลัมน์ | 
| rows[] | 
 ไม่บังคับ ข้อมูลแถวของตาราง เรารับประกันว่าแถว 3 แถวแรกจะแสดงขึ้น แต่บางแถวอาจถูกตัดออกในบางแพลตฟอร์ม โปรดทดสอบกับเครื่องจำลองเพื่อดูว่าจะแสดงแถวใดสำหรับแพลตฟอร์มหนึ่งๆ ในแพลตฟอร์มที่รองรับความสามารถของ  | 
| button | 
 ไม่บังคับ ปุ่ม | 
TableColumn
อธิบายคอลัมน์ในตาราง
| การแสดง JSON | |
|---|---|
| {
  "header": string,
  "align": enum ( | |
| ช่อง | |
|---|---|
| header | 
 ข้อความส่วนหัวของคอลัมน์ | 
| align | 
 การจัดแนวแนวนอนของเนื้อหาในคอลัมน์ หากไม่ระบุ เนื้อหาจะอยู่ในแนวเดียวกับขอบนำหน้า | 
HorizontalAlignment
การจัดแนวเนื้อหาภายในเซลล์
| Enum | |
|---|---|
| UNSPECIFIED | ไม่ได้ระบุแนวนอน | 
| LEADING | ขอบด้านการนำของเซลล์ โดยตัวเลือกนี้คือค่าเริ่มต้น | 
| CENTER | เนื้อหาจัดแนวกึ่งกลางคอลัมน์ | 
| TRAILING | เนื้อหาอยู่ในแนวเดียวกับขอบด้านท้ายของคอลัมน์ | 
TableRow
อธิบายแถวในตาราง
| การแสดง JSON | |
|---|---|
| {
  "cells": [
    {
      object ( | |
| ช่อง | |
|---|---|
| cells[] | 
 เซลล์ในแถวนี้ ระบบรับประกันว่าจะแสดง 3 เซลล์แรก แต่เซลล์อื่นๆ อาจถูกตัดออกในบางพื้นผิว โปรดทดสอบด้วยเครื่องมือจำลองเพื่อดูว่าจะแสดงเซลล์ใดบนพื้นผิวที่กำหนด | 
| divider | 
 ระบุว่าควรมีตัวแบ่งหลังจากแต่ละแถวหรือไม่ | 
TableCell
อธิบายเซลล์ในแถว
| การแสดง JSON | |
|---|---|
| { "text": string } | |
| ช่อง | |
|---|---|
| text | 
 เนื้อหาข้อความของเซลล์ | 
StaticMediaPrompt
มีข้อมูลเกี่ยวกับสื่อ เช่น ชื่อ คำอธิบาย URL ฯลฯ รหัสถัดไป: 11
| การแสดง JSON | |
|---|---|
| { "mediaType": enum ( | |
| ช่อง | |
|---|---|
| mediaType | 
 ประเภทสื่อของคำตอบนี้ | 
| startOffset | 
 ออฟเซ็ตเริ่มต้นของออบเจ็กต์สื่อแรก ระยะเวลาเป็นวินาทีโดยมีเลขเศษส่วนไม่เกิน 9 หลัก สิ้นสุดด้วย " | 
| optionalMediaControls[] | 
 ประเภทการควบคุมสื่อที่ไม่บังคับที่เซสชันการตอบสนองสื่อนี้รองรับได้ หากตั้งค่าไว้ จะมีการส่งคำขอไปยัง 3p เมื่อมีเหตุการณ์สื่อบางอย่างเกิดขึ้น หากไม่ได้ตั้งค่า 3p ยังคงต้องจัดการประเภทการควบคุมเริ่มต้น 2 ประเภท ได้แก่ FINISHED และ FAILED | 
| mediaObjects[] | 
 รายการออบเจ็กต์สื่อ | 
| repeatMode | 
 โหมดทำซ้ำสำหรับรายการออบเจ็กต์สื่อ | 
MediaType
ประเภทสื่อของคำตอบนี้
| Enum | |
|---|---|
| MEDIA_TYPE_UNSPECIFIED | ค่า UNSPECIFIED | 
| AUDIO | ไฟล์เสียง | 
| MEDIA_STATUS_ACK | ตอบกลับเพื่อรับทราบรายงานสถานะสื่อ | 
OptionalMediaControls
ประเภทการควบคุมสื่อที่การตอบกลับสื่อจะรองรับหรือไม่ก็ได้
| Enum | |
|---|---|
| OPTIONAL_MEDIA_CONTROLS_UNSPECIFIED | ไม่ได้ระบุค่า | 
| PAUSED | เหตุการณ์ที่หยุดชั่วคราว ทริกเกอร์เมื่อผู้ใช้หยุดสื่อชั่วคราว | 
| STOPPED | หยุดกิจกรรมแล้ว ทริกเกอร์เมื่อผู้ใช้ออกจากเซสชัน 3p ระหว่างการเล่นสื่อ | 
MediaObject
แสดงออบเจ็กต์สื่อรายการเดียว
| การแสดง JSON | |
|---|---|
| {
  "name": string,
  "description": string,
  "url": string,
  "image": {
    object ( | |
| ช่อง | |
|---|---|
| name | 
 ชื่อออบเจ็กต์สื่อนี้ | 
| description | 
 คำอธิบายของออบเจ็กต์สื่อนี้ | 
| url | 
 URL ที่ชี้ไปยังเนื้อหาสื่อ | 
| image | 
 รูปภาพที่จะแสดงพร้อมการ์ดสื่อ | 
MediaImage
รูปภาพที่จะแสดงภายใน MediaPrompt
| การแสดง JSON | |
|---|---|
| { // Union field | |
| ช่อง | ||
|---|---|---|
| ช่องการรวม imageอนุญาตให้ใช้ MediaImage เพียงประเภทเดียวเท่านั้นimageต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ | ||
| large | 
 รูปภาพขนาดใหญ่ เช่น ปกอัลบั้ม ฯลฯ | |
| icon | 
 ไอคอนรูปภาพขนาดเล็กที่แสดงอยู่ด้านขวาจากชื่อ โดยปรับขนาดเป็น 36x36 dp | |
RepeatMode
ประเภทของโหมดการเล่นซ้ำสำหรับรายการออบเจ็กต์สื่อ
| Enum | |
|---|---|
| REPEAT_MODE_UNSPECIFIED | เทียบเท่ากับ "ปิด" | 
| 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 | 
 ข้อความส่วนท้ายสำหรับรายการคอลเล็กชัน แสดงอยู่ด้านล่างคำอธิบาย ข้อความบรรทัดเดียวที่ตัดให้สั้นลงด้วยจุดไข่ปลา | 
| image | 
 รูปภาพสำหรับรายการคอลเล็กชัน | 
| openUriAction | 
 ต้องระบุ URI ที่จะเปิดหากรายการที่เลือก | 
คำแนะนำ
แสดงชิปคำแนะนำ ซึ่งเป็นองค์ประกอบ UI ที่แสดงต่อผู้ใช้เพื่อความสะดวก
| การแสดง JSON | |
|---|---|
| { "title": string } | |
| ช่อง | |
|---|---|
| title | 
 ต้องระบุ ข้อความที่แสดงในชิปคำแนะนำ เมื่อแตะ ข้อความนี้จะโพสต์กลับไปที่การสนทนาแบบคำต่อคำราวกับว่าผู้ใช้ได้พิมพ์ลงไป ชื่อแต่ละรายการต้องไม่ซ้ำกันในชุดชิปคำแนะนำ สูงสุด 25 อักขระ | 
StaticCanvasPrompt
แสดงการตอบกลับ Interactive Canvas ที่จะส่งไปให้ผู้ใช้ ใช้ร่วมกับช่อง firstSimple ในพรอมต์ที่มีคำสั่งเพื่อพูดกับผู้ใช้ได้ด้วย นอกเหนือจากการแสดงการตอบกลับ Canvas แบบอินเทอร์แอกทีฟ
| การแสดง JSON | |
|---|---|
| { "url": string, "data": [ value ], "suppressMic": boolean, "sendStateDataToCanvasApp": boolean, "enableFullScreen": boolean } | |
| ช่อง | |
|---|---|
| url | 
 ต้องระบุ URL ของมุมมองเว็บที่จะโหลด | 
| data[] | 
 ไม่บังคับ ข้อมูล JSON ที่ส่งผ่านไปยังหน้าเว็บของประสบการณ์แบบสมจริงเป็นเหตุการณ์ หากช่อง  | 
| suppressMic | 
 ไม่บังคับ ค่าจริงหมายความว่าไมโครโฟนจะไม่เปิดเพื่อจับอินพุตหลังจากแสดงการตอบสนองอย่างละเอียดนี้ต่อผู้ใช้ | 
| sendStateDataToCanvasApp | 
 ไม่บังคับ หากเป็น  | 
| enableFullScreen | 
 ไม่บังคับ หากเป็น  | 
บรรยากาศ
ฉากเป็นหน่วยพื้นฐานของการควบคุมขณะออกแบบการสนทนา คุณสามารถเชื่อมโยงการ์ดเข้ากับฉากอื่นๆ สร้างพรอมต์สำหรับผู้ใช้ปลายทาง และกำหนดสล็อตได้ ชื่อฉากจะระบุไว้ในชื่อไฟล์
| การแสดง JSON | |
|---|---|
| { "onEnter": { object ( | |
| ช่อง | |
|---|---|
| onEnter | 
 ตัวแฮนเดิลที่จะเรียกใช้เมื่อเปลี่ยนเข้าสู่ฉากนี้ | 
| intentEvents[] | 
 รายการเหตุการณ์ที่ทริกเกอร์ตาม Intent เหตุการณ์เหล่านี้ทริกเกอร์ได้ทุกเมื่อหลังจากเรียก Handler on_load แล้ว สำคัญ - เหตุการณ์เหล่านี้จะกำหนดชุดของ Intent ที่กำหนดขอบเขตในฉากนี้ และจะมีความสำคัญเหนือกว่าเหตุการณ์ที่กำหนดแบบทั่วโลกซึ่งมี Intent เดียวกันหรือวลีกระตุ้น ชื่อ Intent ต้องไม่ซ้ำกันภายในฉาก | 
| conditionalEvents[] | 
 รายการเหตุการณ์ที่จะทริกเกอร์ตามคำสั่งแบบมีเงื่อนไข ระบบจะประเมินค่าเหล่านี้หลังจากที่มีการกรอกแบบฟอร์มหรือทันทีหลังจาก on_load หากโหมดนี้ไม่มีแบบฟอร์ม (การประเมินจะทำเพียงครั้งเดียว) ระบบจะทริกเกอร์เฉพาะเหตุการณ์ที่ตรงกันรายการแรกเท่านั้น | 
| slots[] | 
 รายการช่องที่มีการจัดลำดับ แต่ละช่องจะกำหนดประเภทข้อมูลที่จะแปลค่าและกำหนดค่าเพื่อปรับแต่งการใช้งานความละเอียดนี้ (เช่น ข้อความแจ้ง) | 
| onSlotUpdated | 
 มีการเรียกใช้ตัวแฮนเดิลเมื่อมีการเปลี่ยนแปลงสถานะของสล็อตซึ่งไม่ได้เกิดจากการอัปเดตภายในตัวแฮนเดิลอื่น การดำเนินการนี้จะทำให้สล็อตใช้งานไม่ได้ ฉากทำให้ใช้งานไม่ได้ หรือมีการเปลี่ยนแปลงสถานะฉากอื่นๆ | 
IntentEvent
ลงทะเบียนเหตุการณ์ที่ทริกเกอร์เนื่องจากการจับคู่ Intent
| การแสดง JSON | |
|---|---|
| {
  "intent": string,
  "transitionToScene": string,
  "handler": {
    object ( | |
| ช่อง | |
|---|---|
| intent | 
 ต้องระบุ Intent ที่ทริกเกอร์เหตุการณ์ | 
| transitionToScene | 
 ไม่บังคับ ฉากปลายทางที่การสนทนาควรข้ามไป สถานะของฉากปัจจุบันจะถูกทำลายเมื่อเปลี่ยน | 
| handler | 
 ไม่บังคับ ตัวแฮนเดิลเหตุการณ์ซึ่งทริกเกอร์เมื่อตรงกับ Intent ควรดำเนินการก่อนเปลี่ยนเป็นโหมดปลายทาง มีประโยชน์ในการสร้างพรอมต์เพื่อตอบกลับเหตุการณ์ | 
ConditionalEvent
บันทึกเหตุการณ์ที่ทริกเกอร์เนื่องจากเงื่อนไขที่เป็นจริง
| การแสดง JSON | |
|---|---|
| {
  "condition": string,
  "transitionToScene": string,
  "handler": {
    object ( | |
| ช่อง | |
|---|---|
| condition | 
 ต้องระบุ เงื่อนไขตัวกรองสำหรับเหตุการณ์นี้เพื่อทริกเกอร์ หากมีการประเมินเงื่อนไขเป็น "จริง" ระบบจะทริกเกอร์  | 
| transitionToScene | 
 ไม่บังคับ ฉากปลายทางที่การสนทนาควรข้ามไปเมื่อเงื่อนไขที่เกี่ยวข้องได้รับการประเมินเป็นจริง สถานะของฉากปัจจุบันจะถูกทำลายเมื่อเปลี่ยน | 
| handler | 
 ไม่บังคับ ตัวแฮนเดิลเหตุการณ์ซึ่งทริกเกอร์เมื่อมีการประเมินเงื่อนไขที่เชื่อมโยงเป็น  | 
สล็อต
การกำหนดค่าสำหรับช่องโฆษณา ช่องคือหน่วยข้อมูลเดี่ยวที่สามารถเติมผ่านภาษาธรรมชาติ (เช่น พารามิเตอร์ Intent), พารามิเตอร์เซสชัน และแหล่งที่มาอื่นๆ
| การแสดง JSON | |
|---|---|
| { "name": string, "type": { object ( | |
| ช่อง | |
|---|---|
| name | 
 ต้องระบุ ชื่อของสล็อต | 
| type | 
 ต้องระบุ ประกาศประเภทข้อมูลของช่องนี้ | 
| required | 
 ไม่บังคับ ระบุว่าต้องเติมช่องโฆษณาก่อนที่จะดำเนินการต่อหรือไม่ ช่องโฆษณาที่จำเป็นและไม่ได้รับโฆษณาจะทริกเกอร์ข้อความแจ้งที่ปรับแต่งได้ให้ผู้ใช้ | 
| promptSettings | 
 ไม่บังคับ ลงทะเบียนพรอมต์สำหรับระยะต่างๆ ของการเติมช่องโฆษณา | 
| commitBehavior | 
 ไม่บังคับ ลักษณะการทำงานที่เชื่อมโยงกับช่องโฆษณา | 
| 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
ตำแหน่งเดียวที่มีการกำหนดข้อความแจ้งของช่อง
| การแสดง JSON | |
|---|---|
| { "initialPrompt": { object ( | |
| ช่อง | |
|---|---|
| initialPrompt | 
 แจ้งสำหรับค่าช่องโฆษณา ตัวอย่างเช่น "คุณต้องการขนาดใด" | 
| noMatchPrompt1 | 
 แสดงข้อความแจ้งเมื่อข้อมูลของผู้ใช้ไม่ตรงกับประเภทค่าที่คาดไว้สำหรับช่องโฆษณาเป็นครั้งแรก เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
| noMatchPrompt2 | 
 แสดงข้อความแจ้งเมื่อข้อมูลของผู้ใช้ไม่ตรงกับประเภทค่าที่คาดไว้สำหรับช่องเป็นครั้งที่ 2 เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
| noMatchFinalPrompt | 
 แสดงข้อความแจ้งเมื่อข้อมูลของผู้ใช้ไม่ตรงกับประเภทค่าที่คาดไว้สำหรับช่องเป็นครั้งสุดท้าย เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
| noInputPrompt1 | 
 ข้อความแจ้งให้แสดงเมื่อผู้ใช้ไม่ได้ป้อนข้อมูลเป็นครั้งแรก เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
| noInputPrompt2 | 
 แจ้งให้ระบุเมื่อผู้ใช้ไม่ได้ป้อนข้อมูลเป็นครั้งที่ 2 เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
| noInputFinalPrompt | 
 แจ้งให้ระบุเมื่อผู้ใช้ไม่ได้ป้อนข้อมูลเป็นครั้งสุดท้าย เช่น "ขอโทษครับ ไม่ค่อยเข้าใจ" | 
CommitBehavior
ข้อความที่อธิบายลักษณะการคอมมิตที่เชื่อมโยงกับช่องโฆษณาหลังจากกรอกเสร็จสมบูรณ์แล้ว
| การแสดง JSON | |
|---|---|
| { "writeSessionParam": string } | |
| ช่อง | |
|---|---|
| writeSessionParam | 
 พารามิเตอร์เซสชันที่จะเขียนค่าช่องโฆษณาหลังจากที่มีการส่งโฆษณา โปรดทราบว่าขณะนี้ระบบยังไม่รองรับเส้นทางที่ซ้อนกัน "$$" ใช้เพื่อเขียนค่าช่องโฆษณาลงในพารามิเตอร์เซสชันที่มีชื่อเดียวกับช่องโฆษณา เช่น WriteSessionParam = "fruit" สอดคล้องกับ "$session.params.fruit" WriteSessionParam = "ตั๋ว" สอดคล้องกับ "$session.params.ticket" | 
DefaultValue
การกำหนดค่าเพื่อเติมค่าเริ่มต้นสำหรับช่องนี้
| การแสดง JSON | |
|---|---|
| { "sessionParam": string, "constant": value } | |
| ช่อง | |
|---|---|
| sessionParam | 
 ไม่บังคับ พารามิเตอร์เซสชันที่จะใช้เพื่อเริ่มต้นค่าของช่อง หากมีค่าที่ไม่ว่างเปล่า ประเภทของค่าต้องตรงกับประเภทของช่องโฆษณา โปรดทราบว่าขณะนี้ระบบยังไม่รองรับเส้นทางที่ซ้อนกัน เช่น  | 
| constant | 
 ไม่บังคับ ค่าเริ่มต้นคงที่สำหรับช่องโฆษณา ระบบจะใช้ค่านี้ก็ต่อเมื่อค่าของช่องนี้ไม่ได้เติมค่าผ่าน  | 
DataFiles
Wrapper สำหรับไฟล์ข้อมูลที่ซ้ำ ฟิลด์ที่ซ้ำต้องไม่มีอยู่ในฟิลด์ใดฟิลด์หนึ่ง
| การแสดง JSON | |
|---|---|
| {
  "dataFiles": [
    {
      object ( | |
| ช่อง | |
|---|---|
| dataFiles[] | 
 ไฟล์ข้อมูลหลายไฟล์ | 
DataFile
แสดงไฟล์เดียวที่มีข้อมูลที่ไม่มีโครงสร้าง เช่น ไฟล์ภาพ ไฟล์เสียง และซอร์สโค้ดของ Cloud Function
| การแสดง JSON | |
|---|---|
| { "filePath": string, "contentType": string, "payload": string } | |
| ช่อง | |
|---|---|
| filePath | 
 เส้นทางสัมพัทธ์ของไฟล์ข้อมูลจากรูทของโปรเจ็กต์ในโครงสร้างไฟล์ SDK เส้นทางไฟล์ที่อนุญาต:  - รูปภาพ:  | 
| contentType | 
 ต้องระบุ ประเภทเนื้อหาของเนื้อหานี้ ตัวอย่าง:  | 
| payload | 
 เนื้อหาของไฟล์ข้อมูล ตัวอย่างเช่น ไบต์ดิบของรูปภาพ ไฟล์เสียง หรือรูปแบบ ZIP ของ Cloud Function ขนาดเพย์โหลดมีขีดจำกัดอยู่ที่ 10 MB สตริงที่เข้ารหัสฐาน 64 | 
