เมื่อคุณระบุฟังก์ชันการทำงานในแอปและ Intent ในตัวที่เกี่ยวข้องแล้ว
(BII) ในการนำไปใช้ ให้ประกาศ BII ที่ฟังก์ชันการทำงานของคุณรองรับโดยกำหนด
องค์ประกอบ capability
ในไฟล์ทรัพยากร shortcuts.xml
การประกาศ BII
ในฐานะ capability
จะลงทะเบียนการสนับสนุนสำหรับจุดประสงค์เชิงความหมายนั้นในแอปของคุณ และ
ทำให้ Google Assistant ตอบสนองความตั้งใจในการค้นหาด้วยเสียงได้
Assistant จะใช้การประมวลผลภาษาธรรมชาติเพื่อแยกพารามิเตอร์จากผู้ใช้
คำถาม การอ้างอิง Intent ในตัวจะแสดงช่องที่ BII แต่ละรายการ
สามารถแยกออกจากคำค้นหาของผู้ใช้ที่เกี่ยวข้อง เช่น หากผู้ใช้
เรียกใช้ความสามารถ actions.intent.ORDER_MENU_ITEM
ในแอปของคุณโดย
พูดว่า "Ok Google สั่งพิซซ่าจาก ExampleCafe ใน ExampleApp" Assistant
แยกพารามิเตอร์ BII ต่อไปนี้จากคำขอของผู้ใช้
menuItem.name
= "พิซซ่า"menuItem.inMenuSection.inMenu.forRestaurant.name
= "ExampleCafe"
Assistant จะส่งพารามิเตอร์ BII ไปยังการดําเนินการตามคําสั่งซื้อ intent
ที่ระบุไว้ใน
capability
สามารถกำหนดองค์ประกอบ intent
อย่างน้อย 1 รายการเพื่อให้
รองรับวิธีต่างๆ ที่ผู้ใช้อาจเรียกใช้ BII ตัวอย่างเช่น คุณ
สามารถกำหนด Fulfillment intent
ที่ต้องใช้พารามิเตอร์ BII ทั้ง 2 รายการใน
ตัวอย่างด้านบน จากนั้นคุณอาจกำหนด Intent ที่ 2 ที่ต้องใช้ BII เดียวได้
พารามิเตอร์ menuItem.name
ที่แสดงตัวเลือกร้านอาหารใกล้เคียงหากผู้ใช้
ทำให้คำของ่ายขึ้น เช่น "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 เพื่อหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์
เมื่อกำหนดความสามารถของการดำเนินการของแอปใน 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> |
|
<data> |
<parameter> |
android:pathPattern (ใช้ได้กับพื้นที่โฆษณาบนเว็บเท่านั้น) |
<shortcut-fulfillment> |
<capability> |
ใช้ได้กับพื้นที่โฆษณาในบรรทัดเท่านั้น |
<parameter> |
<shortcut-fulfillment> |
android:name |
<slice> |
<capability> |
ใช้ได้กับ Android Slice เท่านั้น |
คำอธิบายสคีมาความสามารถ
ส่วนนี้จะอธิบายองค์ประกอบสคีมา capability
<ความสามารถ>
capability
ที่กําหนด Intent ของการดำเนินการในแอปที่แอปของคุณรองรับ ชิ้น
องค์ประกอบ <capability>
ในไฟล์ shortcuts.xml
ต้องระบุอย่างน้อย 1 รายการ
<intent>
เพื่อจัดการดำเนินการตามคำสั่งซื้อ
แอตทริบิวต์:
android:name
: รหัสการดำเนินการ Intent ในตัว (เช่นactions.intent.CREATE_TAXI_RESERVATION
) สำหรับรายการที่รองรับ Intent ในตัว โปรดดูข้อมูลอ้างอิง Intent ในตัวapp:queryPatterns
: ทรัพยากรอาร์เรย์สตริงของคำค้นหาที่ต้องการจากฟังก์ชัน ผู้ใช้สำหรับความตั้งใจนี้ แอตทริบิวต์นี้ใช้ได้กับ ความตั้งใจที่กำหนดเอง เนื่องจาก BII มีโมเดลของ วิธีที่ผู้ใช้มักจะสื่อสารเกี่ยวกับงานที่ตนพยายามทํา หรือข้อมูล ที่พวกเขามองหา
<intent>
องค์ประกอบ Android intent
ที่กำหนดลักษณะการค้นหาของผู้ใช้
ดำเนินการตามฟังก์ชันในแอป นักพัฒนาซอฟต์แวร์อาจมี <intent>
หลายรายการ
แท็กใน capability
Assistant จะพยายามตอบคำถามของผู้ใช้โดยใช้
<intent>
แรกใน capability
ซึ่งมีพารามิเตอร์ที่จำเป็นทั้งหมด
ที่มีให้
แอตทริบิวต์:
android:action
: ประเภท IntentAction
ค่าเริ่มต้นคือACTION_VIEW
android:targetClass
: คลาส Target Activity เช่น วันที่"com.example.food.OrderActivity"
android:targetPackage
: แพ็กเกจที่มีคลาส Activity เป้าหมายสำหรับ ตัวอย่าง:"com.example.food"
android:data
:<url-template>
เขียนทับช่องนี้ หากมีการประกาศแท็กในintent
<เทมเพลต URL>
เทมเพลตสำหรับสร้าง URI ของ Deep Link ไปยัง ในอุปกรณ์ได้ เทมเพลตอาจขยายได้ด้วย Intent ในตัว หากมีพารามิเตอร์ที่จำเป็นทั้งหมดสำหรับเทมเพลตพร้อมใช้งาน สำหรับ โปรดดูตัวอย่างเทมเพลต HTTP URL บทความ 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
<data>
เชื่อมโยงพื้นที่โฆษณาในเว็บกับ parameter
แอตทริบิวต์:
android:pathPattern
: รูปแบบ URL สำหรับ URLentity
รายการที่จะส่งคืนโดยใช้ พื้นที่โฆษณาบนเว็บ แอตทริบิวต์นี้รองรับไวลด์การ์ด 2 แบบ ได้แก่*
: เครื่องหมายดอกจันจับคู่กับลำดับของรายการตั้งแต่ศูนย์รายการขึ้นไป นำหน้าอักขระทันที.*
: จุดตามด้วยเครื่องหมายดอกจันจับคู่กับลำดับเลข 0 หรือ มีอักขระมากขึ้นต้องใช้อักขระหลีกเฉพาะสำหรับ
*
และ\
เท่านั้น ซึ่งคุณ อาจเป็น\\*
และ\\\\
ตามลำดับ
<ทางลัดสำหรับการดำเนินการตามคำสั่งซื้อ>
ระบุว่า intent
ที่กำหนดไว้ในทางลัดของพื้นที่โฆษณาในบรรทัดสำหรับ
ใช้พารามิเตอร์ที่ระบุสําหรับการดําเนินการตามคําสั่งซื้อ
โปรดดูรายละเอียดที่หัวข้อการดำเนินการคำสั่งซื้อโดยใช้ Intent ทางลัด
<พารามิเตอร์> (สำหรับ <shortcut-fulfillment>
)
แอตทริบิวต์ที่ไม่บังคับซึ่งแมปพารามิเตอร์ BII เดียวกับสินค้าคงคลังในบรรทัด Fulfillment ทางลัด โปรดดูรายละเอียดที่หัวข้อการดำเนินการคำสั่งซื้อโดยใช้ Intent ทางลัด
แอตทริบิวต์:
android:name
: ชื่อพารามิเตอร์ BII ที่จะเชื่อมโยงกับพื้นที่โฆษณาในบรรทัด Fulfillment ทางลัด ชื่อควรเป็นฟิลด์ระดับใบไม้ของ BII (เช่นmenuItem.name
)
<สไลซ์>
เปิดให้ Assistant ฝังผลลัพธ์ของคำค้นหาที่ตรงกับ capability
นี้เป็น
Android Slice โปรดดูรายละเอียดที่หัวข้อ
ผสานรวมการดำเนินการของแอปกับ Android Slice
สคีมาทางลัด
ตารางต่อไปนี้อธิบายแอตทริบิวต์ขององค์ประกอบ shortcut
ที่ใช้เพื่อ
เปิดใช้ฟังก์ชันการดำเนินการของแอป เมื่อใส่แท็ก แอตทริบิวต์ทั้งหมดของแท็ก
ต้องระบุ ยกเว้นในกรณีที่ระบุว่า "ไม่บังคับ"
แท็ก Shortcuts.xml | มีใน | แอตทริบิวต์ |
---|---|---|
<shortcut> |
<shortcuts> |
|
<intent> |
<shortcut> |
|
<capability-binding> |
|
|
<parameter-binding> |
<capability-binding> |
|
<extra> |
<shortcut> |
ใช้ได้เฉพาะกับการจับคู่พารามิเตอร์ Enum |
คำอธิบายสคีมาของทางลัด
ส่วนนี้จะอธิบายองค์ประกอบสคีมา shortcut
<ทางลัด>
Android <shortcut>
ที่กำหนดไว้ใน 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.CREATE_TAXI_RESERVATION
<การเชื่อมโยงพารามิเตอร์>
แอตทริบิวต์ที่ไม่บังคับที่เชื่อมโยง shortcut
กับพารามิเตอร์เดียวของแอป
การดำเนินการ capability
หากมีการกำหนด parameter-binding
สำหรับ shortcut
ค่า
สามารถใช้ทางลัดเพื่อระบุเอนทิตีพื้นที่โฆษณาในบรรทัดไปยังพารามิเตอร์ BII
ดูรายละเอียดเพิ่มเติมได้ที่พื้นที่โฆษณาในบรรทัดสำหรับการดำเนินการของแอป
แอตทริบิวต์:
android:key
: ชื่อพารามิเตอร์capability
BII ที่จะเชื่อมโยง ทางลัดนี้ไปยัง เช่นfoodObservation.aboutFood.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 รายการใดรายการหนึ่งของคุณโดยใช้ URL ของลิงก์แอป
สคีมที่กำหนดเองหรือ URL ที่อิงตาม Intent
การใช้ Intent เพิ่มเติม
ตัวอย่างต่อไปนี้แสดงเจตนาที่ชัดแจ้งที่กำหนดไว้สำหรับ capability
การดำเนินการตามคำสั่งซื้อ:
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent
android:targetPackage="com.example.myapp"
android:targetClass="com.example.myapp.OrderMenuItemActivity">
<parameter android:name="menuItem.name" android:key="menu" />
</intent>
</capability>
จากตัวอย่างข้างต้น สำหรับคำถามของผู้ใช้อย่างเช่น "Ok Google สั่งลาเต้จาก
ExampleApp" แอปได้รับ intent
ที่เรียกใช้คอมโพเนนต์
targetPackage
, targetClass
คอมโพเนนต์จะได้รับโบนัสพิเศษที่มี
key = ”menu”
, value = ”latte”
การใช้เทมเพลต URL สำหรับ Deep Link ของ Android
หากแอปของคุณจัดการ URL ที่ลิงก์กับแอปได้ด้วยพารามิเตอร์แบบไดนามิก
คุณสามารถกำหนด <url-template>
ใน intent
เพื่อสร้าง Android
Deep Link สำหรับ Fulfillment ตัวอย่างต่อไปนี้ระบุ <url-template>
<capability android:name="actions.intent.ORDER_MENU_ITEM">
<intent>
<url-template android:value="myapp://order{?menu}" />
<parameter android:name="menuItem.name" android:key="menu" />
</intent>
</capability>
จากตัวอย่างข้างต้น สำหรับคำถามของผู้ใช้อย่างเช่น "Ok Google สั่งลาเต้ จาก ExampleApp" แอปจะได้รับ URL ที่สร้างขึ้น "myapp://order?menu=latte"
หากต้องการจับคู่พารามิเตอร์ 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
ซึ่งเรียกว่า
พื้นที่โฆษณาแบบอินไลน์ โปรดดูรายละเอียดที่หัวข้อพื้นที่โฆษณาแบบอินไลน์
พื้นที่โฆษณาบนเว็บสำหรับการดำเนินการของแอป
สำหรับ BII บางส่วน คุณสามารถใช้พื้นที่โฆษณาในเว็บเป็นวิธีการ การสร้าง URL สำหรับการดำเนินการให้สมบูรณ์ พื้นที่โฆษณาบนเว็บใช้เว็บไซต์ของคุณเพื่อสำรวจ URL สำหรับ Fulfillment การดำเนินการของแอป ฟีเจอร์นี้จะเป็นประโยชน์ที่สุดเมื่อคุณมี ตัวตนบนเว็บที่ชัดเจนและ Deep Link ในแอปของคุณได้รับการจัดระเบียบแบบสาธารณะ เนื้อหาเว็บที่พร้อมให้บริการ
ดูรายละเอียดได้ที่พื้นที่โฆษณาบนเว็บ
ความตั้งใจที่กำหนดเอง
คุณสามารถประกาศ Intent ที่กำหนดเองใน shortcuts.xml
เพื่อเปิดใช้ฟีเจอร์ต่อไปนี้ด้วยเสียง
แอปของคุณที่ไม่ตรงกับ BII ที่มีอยู่ ในขณะที่คล้ายกันใน
ฟังก์ชันการทำงานให้กับนิยาม BII, Intent ที่กำหนดเองต้องมี
แอตทริบิวต์ใน shortcuts.xml
:
app:queryPatterns
: ทรัพยากรอาร์เรย์ที่ประกาศพารามิเตอร์ รูปแบบต่างๆ ของคำค้นหาสำหรับความตั้งใจที่กำหนดเองandroid:mimeType
: ประเภทพารามิเตอร์ของความตั้งใจที่กำหนดเอง ช่องนี้ ไม่จำเป็นสำหรับ BII ซึ่งทราบประเภทพารามิเตอร์ สำหรับความตั้งใจที่กำหนดเอง ต้องมีการประกาศประเภทความหมายที่รองรับ
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อความตั้งใจที่กำหนดเอง