เมื่อระบุฟังก์ชันการทำงานในแอปและ Intent ในตัวที่เกี่ยวข้อง (BII) เพื่อนำไปใช้งานแล้ว ให้ประกาศ BII ที่ฟังก์ชันการทำงานรองรับโดยกำหนดองค์ประกอบ capability
ในไฟล์ทรัพยากร shortcuts.xml
การประกาศ BII เป็น capability
จะลงทะเบียนการรองรับความตั้งใจเชิงความหมายนั้นในแอป และเปิดใช้การตอบสนองคำค้นหาด้วยเสียงตามความตั้งใจโดยใช้ Google Assistant
Assistant จะใช้การประมวลผลภาษาธรรมชาติเพื่อแยกพารามิเตอร์จากผู้ใช้
คำถาม การอ้างอิง Intent ในตัวจะแสดงช่องที่ BII แต่ละรายการ
สามารถแยกออกจากคำค้นหาของผู้ใช้ที่เกี่ยวข้อง เช่น หากผู้ใช้
เรียกใช้ความสามารถ [actions.intent.GET_FOOD_OBSERVATION
][] ในแอปของคุณโดย
พูดว่า "Ok Google ถาม ExampleApp ฉันกินอะไรเป็นอาหารกลางวันเมื่อวันศุกร์ที่ผ่านมา", Assistant
แยกพารามิเตอร์ BII ต่อไปนี้จากคำขอของผู้ใช้
foodObservation.forMeal
= "https://schema.googleapis.com/MealTypeLunch"foodObservation.startTime
= "2024-09-06T00:00:00"foodObservation.endTime
= "2024-09-06T23:59:59"
Assistant จะส่งพารามิเตอร์ BII ไปยังการดําเนินการตามคําสั่งซื้อ intent
ที่ระบุไว้ใน
capability
สามารถกำหนดองค์ประกอบ intent
อย่างน้อย 1 รายการเพื่อให้
รองรับวิธีต่างๆ ที่ผู้ใช้อาจเรียกใช้ BII เช่น คุณอาจกําหนด Fulfillment intent
ที่จําเป็นต้องใช้ทั้งพารามิเตอร์ BII ในตัวอย่างนี้ จากนั้นคุณอาจกำหนด Intent ที่ 2 ที่ต้องใช้ BII เดียวได้
พารามิเตอร์ foodObservation.forMeal
ที่จะรายงานอาหารทุกมื้อในวันหนึ่งๆ เช่น "Ok Google ถาม ExampleApp ว่าฉันกินอะไรเป็นอาหารกลางวันบ้าง"
ภาพรวม
คุณกำหนดค่าการดำเนินการของแอปโดยใช้ไฟล์ shortcuts.xml
ที่วางไว้ในไดเรกทอรี res/xml
ของโปรเจ็กต์แอป จากนั้นสร้างการอ้างอิงถึง shortcuts.xml
ในไฟล์ Manifest ของแอป เพิ่มการอ้างอิง shortcuts.xml
ในไฟล์ Manifest ของแอปโดยทำตามขั้นตอนต่อไปนี้
ในไฟล์ Manifest ของแอป (
AndroidManifest.xml
) ให้ค้นหากิจกรรมที่มี ตั้งค่าตัวกรอง Intent เป็นการดำเนินการandroid.intent.action.MAIN
และ หมวดหมู่android.intent.category.LAUNCHER
เพิ่มการอ้างอิงไปยัง
shortcuts.xml
ในAndroidManifest.xml
โดยใช้ แท็ก<meta-data>
ในActivity
ที่มี Intent ตัวกรองสำหรับทั้งMAIN
และLAUNCHER
ดังนี้<meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts" />
ตัวอย่างข้างต้นประกาศทรัพยากร XML สำหรับไฟล์ xml/shortcuts.xml
ใน
APK ดูรายละเอียดเพิ่มเติมเกี่ยวกับการกำหนดค่าทางลัดได้ที่
สร้างทางลัดแบบคงที่ในเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ Android
ต้องใช้คลัง Jetpack androidx.core:core:1.6.0
(หรือเวอร์ชันที่ใหม่กว่า) ในโปรเจ็กต์ Android เพื่อหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์เมื่อกำหนดความสามารถของ App Actions ใน shortcuts.xml
โปรดดูรายละเอียดที่หัวข้อ
เริ่มต้นใช้งาน Android Jetpack
ทางลัดแบบคงที่
เมื่อกำหนด capability
คุณสามารถประกาศองค์ประกอบ shortcut
แบบคงที่ใน
shortcuts.xml
เพื่อขยายฟังก์ชันของความสามารถนี้ ทางลัดแบบคงที่
Assistant จะนำเข้าข้อมูลเมื่อคุณอัปโหลดรุ่นไปยัง Google Play Console
เนื่องจากแป้นพิมพ์ลัดแบบคงที่สามารถสร้างและอัปเดตได้โดยการสร้างรุ่นใหม่เท่านั้น
ซึ่งมีประโยชน์ในการไฮไลต์กิจกรรมและเนื้อหาทั่วไปในแอป
คุณเปิดใช้ฟังก์ชันการดำเนินการของแอปต่อไปนี้ได้ด้วยทางลัดแบบคงที่
แป้นพิมพ์ลัดสำหรับความสามารถ สร้างทางลัดที่เปิดใช้อินสแตนซ์
capability
ที่มีค่าพารามิเตอร์intent
ที่กำหนดไว้ล่วงหน้า ตัวอย่างเช่น คุณสามารถประกาศทางลัดของแอปว่า "เริ่มเรียกใช้" ซึ่งเรียกใช้ฟังก์ชันSTART_EXERCISE
ความสามารถ BII ในแอปฟิตเนสทางลัดเหล่านี้ประกอบด้วยแอตทริบิวต์
intent
,shortLabel
และlongLabel
ทำให้ลิงก์เหล่านั้นมีสิทธิ์ได้รับการแนะนำและเติมเต็มในแบบชิปในเชิงรุก แพลตฟอร์ม เช่น Assistant หรือเมื่อกดไอคอนแอปใน Android ค้างไว้ Launcher ทางลัดการดำเนินการยังสามารถเป็นทางลัดเอนทิตีได้ด้วย ซึ่งมีรายละเอียด ด้านล่าง โดยเชื่อมโยงกับcapability
โดยใช้<capability-binding>
แป้นพิมพ์ลัดสำหรับเอนทิตี แป้นพิมพ์ลัดเอนทิตีจะแสดงรายการพารามิเตอร์ที่รองรับ ค่าสำหรับการเติมคำค้นหาด้วยเสียงของ
capability
ตัวอย่างเช่น เอนทิตี ทางลัดที่มีรายการประเภทการออกกำลังกาย ("ปีนเขา" "วิ่ง" ฯลฯ) ที่เชื่อมโยงกับ พารามิเตอร์exercise.name
BII ของSTART_EXERCISE
แบบพื้นฐาน หากการพูดของผู้ใช้ตรงกับเอนทิตี รหัสshortcutId
จะเป็น ไปยัง Intent แทนค่าการค้นหาของผู้ใช้ดิบแป้นพิมพ์ลัดของ
Entity
ไม่ได้กำหนดintent
,shortLabel
หรือlongLabel
ด้วยเหตุนี้จึงไม่แนะนําในแพลตฟอร์มเชิงรุก สำหรับ ดูรายละเอียดเพิ่มเติมได้ที่พื้นที่โฆษณาในบรรทัดสำหรับการดำเนินการของแอป
สคีมาความสามารถ
ตารางต่อไปนี้อธิบายสคีมาการดำเนินการของแอปสำหรับองค์ประกอบ capability
ใน shortcuts.xml
คุณต้องระบุแอตทริบิวต์ทั้งหมดของแท็กเมื่อใส่แท็ก
เว้นแต่จะทําเครื่องหมายว่า "ไม่บังคับ"
แท็ก Shortcuts.xml | อยู่ใน | แอตทริบิวต์ |
---|---|---|
<capability> |
<shortcuts> |
|
<intent> |
<capability> |
|
<url-template> |
<intent> |
|
<extra> |
<intent> |
ใช้ได้กับการเรียกใช้แอปที่ทำงานอยู่เบื้องหน้าเท่านั้น |
<parameter> |
<intent> |
|
<shortcut-fulfillment> |
<capability> |
ใช้ได้กับพื้นที่โฆษณาในบรรทัดเท่านั้น |
<parameter> |
<shortcut-fulfillment> |
android:name |
<slice> |
<capability> |
ใช้ได้กับ Android Slice เท่านั้น |
คำอธิบายสคีมาความสามารถ
ส่วนนี้จะอธิบายองค์ประกอบสคีมา capability
<capability>
capability
ที่กําหนด Intent การดําเนินการของแอปที่แอปของคุณรองรับ ชิ้น
องค์ประกอบ <capability>
ในไฟล์ shortcuts.xml
ต้องระบุอย่างน้อย 1 รายการ
<intent>
เพื่อจัดการดำเนินการตามคำสั่งซื้อ
แอตทริบิวต์:
android:name
: รหัสการดำเนินการของ Intent ในตัว (เช่น [actions.intent.GET_FOOD_OBSERVATION
][]) ดูรายการ Intent ในตัวที่รองรับได้ที่ข้อมูลอ้างอิง Intent ในตัวapp:queryPatterns
: ทรัพยากรอาร์เรย์สตริงของคำค้นหาที่ต้องการจากฟังก์ชัน ผู้ใช้สำหรับความตั้งใจนี้ แอตทริบิวต์นี้ใช้ได้กับIntent ที่กําหนดเองเท่านั้น เนื่องจาก BII มีรูปแบบของวิธีที่ผู้ใช้ทั่วไปแสดงงานที่ต้องการทําหรือข้อมูลที่ต้องการอยู่แล้ว
<intent>
องค์ประกอบ intent
ของ Android ที่กําหนดวิธีตอบสนองคําค้นหาของผู้ใช้โดยใช้ฟังก์ชันการทํางานในแอป นักพัฒนาซอฟต์แวร์อาจมี <intent>
หลายรายการ
แท็กใน capability
Assistant จะพยายามตอบคำถามของผู้ใช้โดยใช้
<intent>
แรกใน capability
ซึ่งมีพารามิเตอร์ที่จำเป็นทั้งหมด
ที่มีให้
แอตทริบิวต์:
android:action
: ประเภท IntentAction
ค่าเริ่มต้นคือACTION_VIEW
android:targetClass
: คลาส Target Activity เช่น"com.example.exercise.ExerciseActivity"
android:targetPackage
: แพ็กเกจที่มีคลาส Activity เป้าหมายสำหรับ ตัวอย่าง:"com.example.exercise
android:data
:<url-template>
เขียนทับช่องนี้ หากมีการประกาศแท็กในintent
<เทมเพลต URL>
เทมเพลตสำหรับสร้าง URI ของ Deep Link ไปยัง ในอุปกรณ์ได้ ระบบอาจขยายเทมเพลตด้วยพารามิเตอร์ Intent ในตัวหากพารามิเตอร์ที่จําเป็นสําหรับเทมเพลตพร้อมใช้งานทั้งหมด ดูตัวอย่างเทมเพลต URL ของ HTTP ได้ที่บทความใน Wikipedia เกี่ยวกับเทมเพลต URL รูปแบบเทมเพลตเป็นไปตามข้อกำหนดของเทมเพลต URI RFC6570
ตัวอย่างค่าเทมเพลต URL มีดังนี้
เทมเพลต | ค่า | ค่าที่ขยาย |
---|---|---|
https://example.com/test{?foo,bar} |
"foo": "123"
|
https://example.com/test?foo=123&bar=456 |
https://example.com/test?utm_campaign=appactions{&foo,bar} |
"foo": "123"
|
https://example.com/test?utm_campaign=appactions&foo=123&bar=456 |
https://example.com/test?utm_campaign=appactions{#foo} |
"foo": "123" |
https://example.com/test?utm_campaign=appactions#foo=123 |
myapp://example/{foo} |
"foo": "123" |
myapp://example/123 |
โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าเทมเพลต URL ที่ เทมเพลต URL ใน Fulfillment
<เพิ่มเติม>
กําหนดข้อมูลเพิ่มเติมสําหรับ intent
สำหรับการดำเนินการของแอป ช่องนี้จะใช้เพื่อ
เปิดใช้ [การเรียกใช้แอปที่ทำงานอยู่เบื้องหน้า][] สำหรับ capability
<พารามิเตอร์>
จับคู่พารามิเตอร์ BII กับค่าพารามิเตอร์ Intent สำหรับข้อมูลเพิ่มเติม โปรดดู ข้อมูลและการจับคู่พารามิเตอร์
แอตทริบิวต์:
android:name
: ชื่อพารามิเตอร์ BII ที่จะเชื่อมโยงกับพารามิเตอร์intent
นี้ ชื่อควรเป็นฟิลด์ระดับ Leaf ของพารามิเตอร์ BII (สำหรับ เช่นfoodObservation.aboutFood.name
)android:key
: คีย์ที่นักพัฒนาแอปกำหนดของค่าพารามิเตอร์ BII ตัวอย่างเช่น คุณอาจกำหนดcontact_name
สำหรับmessage.recipient.name
BII พารามิเตอร์android:mimeType
: mimeType ของพารามิเตอร์ เช่นtext/*
ช่วงเวลานี้ ต้องมีช่องสำหรับพารามิเตอร์ของ Intent ที่กำหนดเองเท่านั้นandroid:required
: ประกาศว่าการค้นหาของผู้ใช้ต้องมีข้อมูลนี้หรือไม่ พารามิเตอร์ Intent นี้ใช้สำหรับการดำเนินการให้สมบูรณ์ หากไม่มีพารามิเตอร์นี้ Assistant จะพยายามดำเนินการตามคำค้นหาของผู้ใช้โดยใช้intent
รายการถัดไปที่กําหนดไว้สําหรับcapability
<ทางลัดสำหรับการดำเนินการตามคำสั่งซื้อ>
ระบุว่า intent
ที่กำหนดไว้ในทางลัดของพื้นที่โฆษณาในบรรทัดสำหรับ
ใช้พารามิเตอร์ที่ระบุสําหรับการดําเนินการตามคําสั่งซื้อ
โปรดดูรายละเอียดที่หัวข้อการดำเนินการคำสั่งซื้อโดยใช้ Intent ทางลัด
<parameter> (สำหรับ <shortcut-fulfillment>
)
แอตทริบิวต์ที่ไม่บังคับซึ่งแมปพารามิเตอร์ BII รายการเดียวกับการแสดงสินค้าคงคลังในบรรทัดเพื่อดำเนินการตามคำสั่งซื้อ โปรดดูรายละเอียดที่หัวข้อการดำเนินการโดยใช้ Intent ทางลัด
แอตทริบิวต์:
android:name
: ชื่อพารามิเตอร์ BII เพื่อเชื่อมโยงกับการแสดงโฆษณาในพื้นที่โฆษณาในบรรทัด การตอบสนองทางลัด ชื่อควรเป็นฟิลด์ระดับใบไม้ของ BII (เช่นmenuItem.name
)
<slice>
เปิดให้ Assistant ฝังผลลัพธ์ของคำค้นหาที่ตรงกับ capability
นี้เป็น
Android Slice โปรดดูรายละเอียดที่หัวข้อ
ผสานรวมการดำเนินการของแอปกับ Android Slice
สคีมาทางลัด
ตารางต่อไปนี้อธิบายแอตทริบิวต์ขององค์ประกอบ shortcut
ที่ใช้เพื่อเปิดใช้ฟังก์ชันการทํางานของ App Actions เมื่อใส่แท็ก แอตทริบิวต์ทั้งหมดของแท็ก
ต้องระบุ ยกเว้นในกรณีที่ระบุว่า "ไม่บังคับ"
แท็ก Shortcuts.xml | อยู่ใน | แอตทริบิวต์ |
---|---|---|
<shortcut> |
<shortcuts> |
|
<intent> |
<shortcut> |
|
<capability-binding> |
|
|
<parameter-binding> |
<capability-binding> |
|
<extra> |
<shortcut> |
ใช้ได้เฉพาะกับการจับคู่พารามิเตอร์ Enum |
คำอธิบายสคีมาทางลัด
ส่วนนี้จะอธิบายองค์ประกอบสคีมา shortcut
<ทางลัด>
<shortcut>
ของ Android ที่กําหนดไว้ใน shortcuts.xml
ซึ่งมีแอตทริบิวต์บางอย่างที่เกี่ยวข้องกับการกระทําของแอป ระบบจะอ้างอิงค่าสตริงสำหรับช่อง shortcutShortLabel
และ shortcutLongLabel
ผ่านทรัพยากรสตริงของ APK
แอตทริบิวต์:
android:shortcutId
: ตัวระบุสำหรับทางลัดนี้android:shortcutShortLabel
: ทรัพยากรสตริงที่แสดงทางลัดแบบย่อ วลี เช่น"@string/callDavidShort"
ที่แทนค่า "การโทร David"android:shortcutLongLabel
: ทรัพยากรสตริงที่แสดงวลีทางลัดแบบยาว เช่น"@string/callDavidLong"
ที่แทนค่า "สร้าง โทรหา David"
<intent>
Intent ของ Android ที่เชื่อมโยงกับทางลัดนี้ intent
นี้จะทำงานเมื่อ
ผู้ใช้เปิดทางลัดนี้โดยใช้เสียงหรือการแตะ
แอตทริบิวต์ Intent shortcut
เหมือนกับ capability
intent
<capability-binding>
เชื่อมโยง shortcut
กับการดำเนินการของแอป capability
การเพิ่มองค์ประกอบนี้ลงใน
shortcut
ช่วยให้ดำเนินการด้วยเสียงได้โดยใช้ Assistant
แอตทริบิวต์:
android:key
: แอตทริบิวต์android:name
ของcapability
รายการนี้ เชื่อมโยงกับshortcut
ตัวอย่างเช่นactions.intent.START_EXERCISE
<การเชื่อมโยงพารามิเตอร์>
แอตทริบิวต์ที่ไม่บังคับซึ่งเชื่อมโยง shortcut
กับพารามิเตอร์เดียวของ App Action capability
หากมีการกําหนด parameter-binding
สําหรับ shortcut
คุณจะใช้ทางลัดเพื่อระบุเอนทิตีสินค้าคงคลังในบรรทัดให้กับพารามิเตอร์ BII ได้
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อพื้นที่โฆษณาในบรรทัดสําหรับ App Actions
แอตทริบิวต์:
android:key
: ชื่อพารามิเตอร์capability
BII ที่จะเชื่อมโยง ทางลัดนี้ไปยัง เช่นexercise.name
android:value
: ค่าentity
ซึ่งอาจเป็นentity
รายการเดียว หรือ รายการทรัพยากร
<เพิ่มเติม>
ข้อมูลกลุ่ม extra
สำหรับทางลัด sameAs เป็นข้อมูลเดียว
ซึ่งเกี่ยวข้องกับองค์ประกอบ shortcut
ของการดำเนินการของแอป URL sameAs อ้างอิงถึง
หน้าเว็บอ้างอิงที่ระบุเอนทิตีอย่างชัดเจน ใช้เพื่อระบุค่า Enum เฉพาะในกรณีที่ประเภทพารามิเตอร์ Intent เป็นประเภทย่อยของ schema.org/Enumeration ต้องระบุสำหรับฟิลด์พารามิเตอร์
มีประเภทย่อยของ schema.org/Enumeration
(เช่น
MealTypeBreakfast
)
แอตทริบิวต์:
android:key
: ค่าที่รองรับสำหรับการดำเนินการของแอปคือsameAs
android:value
: ค่า URLsameAs
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อการจับคู่ค่าพารามิเตอร์ที่ระบุมา
ตัวเลือกการดำเนินการตาม Intent
คุณกําหนดองค์ประกอบ intent
ภายใน <capability>
เพื่อประกาศวิธีที่ Assistant
ตอบสนองหรือดำเนินการตามคำสั่งเสียงของผู้ใช้ที่ตรงกับความสามารถนั้น มี
มีวิธีที่หลากหลายในการกำหนดค่าวิธีที่ intent
เปิดปลายทางการดำเนินการตามคำสั่งซื้อ
ในแอป โดยขึ้นอยู่กับโครงสร้างการไปยังส่วนต่างๆ ของแอป
ตัวเลือกการดำเนินการตามคำสั่งซื้อมีดังต่อไปนี้
Intent แบบเจาะจงปลายทาง: เปิดคอมโพเนนต์ของแอปที่เจาะจงโดยการกำหนด แอตทริบิวต์
targetClass
และtargetPackage
สำหรับintent
วิธีนี้เป็นวิธีการที่แนะนำสำหรับการดำเนินการของแอปDeep Link: เปิดปลายทางแอปโดยใช้ Deep Link ของ Android โดยกําหนดแท็ก
<url-template>
ภายในองค์ประกอบintent
ช่วงเวลานี้ มีประโยชน์ในกรณีที่การไปยังส่วนต่างๆ ของแอปต้องใช้ Deep Link อยู่แล้วข้อมูล Intent: คุณระบุ URI ของ Fulfillment ได้ใน
intent
android:data
ข้อมูล<url-template>
เขียนทับช่องนี้ หากมีการกำหนดแท็กนั้นภายในintent
ด้วย
ข้อมูลและการจับคู่พารามิเตอร์
โดยค่าเริ่มต้น Assistant จะส่งพารามิเตอร์ BII ที่ดึงมาจากคำค้นหาของผู้ใช้ไปยังแอปของคุณเป็นextra
ข้อมูลของ Android intent
ที่กําหนดไว้ใน capability
หรือคุณจะประกาศแท็ก <url-template>
ใน
capability
ที่มีตัวยึดตำแหน่งสำหรับพารามิเตอร์แบบไดนามิก เทมเพลตนี้จะแมปกับกิจกรรม Android รายการใดรายการหนึ่งโดยใช้ App Links URL, สคีมที่กำหนดเอง หรือ URL ตาม Intent
การใช้ Intent เพิ่มเติม
ตัวอย่างต่อไปนี้แสดง Intent ที่ชัดเจนซึ่งกําหนดไว้สําหรับการดําเนินการตามคําสั่งซื้อ capability
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.ExerciseActivity">
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</capability>
จากตัวอย่างข้างต้น สำหรับคำถามของผู้ใช้อย่างเช่น "Ok Google สั่งลาเต้จาก
ExampleApp" แอปได้รับ intent
ที่เรียกใช้คอมโพเนนต์
targetPackage
, targetClass
คอมโพเนนต์จะได้รับโบนัสพิเศษที่มี
key = "exercise"
, value = "Running"
การใช้เทมเพลต URL สำหรับ Deep Link ของ Android
หากแอปของคุณจัดการ URL ที่ลิงก์กับแอปได้ด้วยพารามิเตอร์แบบไดนามิก
คุณสามารถกำหนด <url-template>
ใน intent
เพื่อสร้าง Android
Deep Link สำหรับ Fulfillment ตัวอย่างต่อไปนี้ระบุ <url-template>
<capability android:name="actions.intent.START_EXERCISE">
<intent>
<url-template android:value="myapp://start{?exercise}" />
<parameter android:name="exercise.name" android:key="exercise" />
</intent>
</capability>
จากตัวอย่างข้างต้น เมื่อผู้ใช้ค้นหาว่า "Ok Google สั่งลาเต้จาก ExampleApp" แอปจะได้รับ URL ที่สร้างขึ้น ซึ่งก็คือ "myapp://start?exercise=Running"
หากต้องการจับคู่พารามิเตอร์ BII กับตำแหน่งใน URL คุณต้องใช้เมธอด
แอตทริบิวต์ android:name
ของแท็ก <parameter>
แอตทริบิวต์นี้ตรงกับค่า android:key
ในเทมเพลต URL ที่ต้องการแทนที่ด้วยข้อมูลจากผู้ใช้ ค่า android:key
ต้องอยู่ใน <url-template>
และอยู่ในวงเล็บปีกกา ({}
)
จับคู่ค่าพารามิเตอร์ที่แจกแจง
พารามิเตอร์ BII บางรายการจะระบุค่าที่แจกแจงสำหรับความตั้งใจในการดำเนินการตามคำสั่งซื้อของคุณสำหรับ
เช่น ค่าข้อความที่รองรับของ RECORD_FOOD_OBSERVATION
BII สำหรับ
พารามิเตอร์เหล่านี้ Assistant จะจับคู่คำค้นหาของผู้ใช้ ("อาหารเช้า") กับ
เอนทิตีที่มีค่า sameAs
ตรงกับ URL ของสคีมา enum
(https://schema.googleapis.com/MealTypeBreakfast
) เพื่อเชื่อมโยง enum
ค่าสำหรับ entity
ที่รองรับ คุณได้ประกาศการเชื่อมโยง sameAs
ใน
shortcut
ของคุณ ตัวอย่างต่อไปนี้แสดงการเชื่อมโยง sameAs
สำหรับ
ทางลัดเอนทิตีในบรรทัด:
<shortcut android:shortcutId="meal_breakfast" >
<capability-binding android:key="actions.intent.RECORD_FOOD_OBSERVATION">
<parameter-binding android:key="foodObservation.forMeal" />
</capability-binding>
<extra
android:key="sameAs"
android:value="http://schema.googleapis.com/MealTypeBreakfast" />
</shortcut>
<capability android:name="actions.intent.RECORD_FOOD_OBSERVATION">
<intent targetPackage="com.example.app" targetClass="com.example.app.Class">
<parameter android:name="foodObservation.forMeal" android:key="for_meal" />
</intent>
</capability>
ในตัวอย่างด้านบน หากความสามารถ RECORD_FOOD_OBSERVATION
ทริกเกอร์
จับคู่กับ "อาหารเช้า" ประเภทอาหารพิเศษต่อไปนี้ จะส่งไปพร้อม
การจำหน่าย intent
:
key = "for_meal"
value = "meal_breakfast"
ฟีเจอร์
ฟีเจอร์การดำเนินการของแอปต่อไปนี้พร้อมให้บริการใน shortcuts.xml
พื้นที่โฆษณาแบบอินไลน์สำหรับการดำเนินการของแอป
สำหรับพารามิเตอร์ BII บางรายการ สามารถใช้ทางลัดเพื่อเป็นแนวทางในเอนทิตี
การแยกไปยังชุดเอนทิตีที่รองรับซึ่งระบุไว้ใน shortcuts.xml
ซึ่งเรียกว่า
พื้นที่โฆษณาแบบอินไลน์ โปรดดูรายละเอียดที่หัวข้อพื้นที่โฆษณาแบบอินไลน์
ความตั้งใจที่กำหนดเอง
คุณสามารถประกาศ Intent ที่กำหนดเองใน shortcuts.xml
เพื่อเปิดใช้ฟีเจอร์ต่อไปนี้ด้วยเสียง
แอปของคุณที่ไม่ตรงกับ BII ที่มีอยู่ ในขณะที่คล้ายกันใน
ฟังก์ชันการทำงานให้กับนิยาม BII, Intent ที่กำหนดเองต้องมี
แอตทริบิวต์ใน shortcuts.xml
:
app:queryPatterns
: ทรัพยากรอาร์เรย์ที่ประกาศพารามิเตอร์ รูปแบบต่างๆ ของคำค้นหาสำหรับความตั้งใจที่กำหนดเองandroid:mimeType
: ประเภทพารามิเตอร์ของความตั้งใจที่กําหนดเอง ช่องนี้ ไม่จำเป็นสำหรับ BII ซึ่งทราบประเภทพารามิเตอร์ สำหรับความตั้งใจที่กำหนดเอง ต้องมีการประกาศประเภทความหมายที่รองรับ
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อIntent ที่กําหนดเอง