ความสามารถใน shortcuts.xml
ช่วยให้คุณประกาศประเภทการดำเนินการที่ผู้ใช้ทำได้เพื่อเปิดแอปและทำงานหนึ่งๆ โดยตรง
ตัวอย่างเช่น แอปแอ็กชันของ Google Assistant ใช้ความสามารถต่างๆ เพื่อช่วยให้นักพัฒนาแอปขยายฟีเจอร์ในแอปไปยังIntent ในตัว (BIIs) ซึ่งช่วยให้ผู้ใช้เปิดใช้งานและควบคุมฟีเจอร์เหล่านั้นได้โดยใช้คำสั่งเสียง ความสามารถประกอบด้วยชื่อการดําเนินการและ intent
ที่กําหนดเป้าหมายปลายทางในแอปซึ่งแก้ไขความตั้งใจของผู้ใช้
กำหนดความสามารถใน shortcuts.xml
คุณกำหนดองค์ประกอบ capability
ในไฟล์ทรัพยากร shortcuts.xml
ในโปรเจ็กต์การพัฒนาแอป Android หากต้องการกําหนดองค์ประกอบ capability
ให้ทําดังนี้
- สร้างแหล่งข้อมูล
shortcuts.xml
โดยทําตามวิธีการในสร้างทางลัดแบบคงที่ ระบุข้อมูลที่จำเป็นต่อไปนี้ในความสามารถ
ชื่อความสามารถ: การดำเนินการที่คุณต้องการให้แอปรองรับ โปรดดูเอกสารประกอบของคอมโพเนนต์สำหรับฟีเจอร์ที่ต้องใช้คำจำกัดความของความสามารถ คำสั่งที่พร้อมใช้งานด้วยเสียงของ App Actions จะใช้ BII
Action ID
สำหรับชื่อความสามารถ ซึ่งดูได้ในข้อมูลอ้างอิง BII ตัวอย่างเช่น BII ของGET_THING
แสดงAction ID
เป็นactions.intent.GET_THING
ปลายทางของแอป: ปลายทางในแอปที่การดําเนินการจะเปิดขึ้นเพื่อตอบสนองคําขอของผู้ใช้ กําหนดปลายทางของแอปโดยใช้องค์ประกอบ
intent
ที่ฝังอยู่ภายในcapability
การแมปพารามิเตอร์:
intent
แต่ละรายการอาจมีพารามิเตอร์ที่จะส่งเป็นข้อมูลextra
ของ Intent ตัวอย่างเช่น BII ของการดำเนินการในแอปแต่ละรายการจะมีช่องที่แสดงข้อมูลที่ผู้ใช้มักระบุในข้อความค้นหาที่ทริกเกอร์ BII
ตัวอย่างต่อไปนี้แสดงคำจำกัดความของความสามารถใน shortcuts.xml
สำหรับ actions.intent.START_EXERCISE
ซึ่งเป็น BII ที่ช่วยให้ผู้ใช้ใช้คำสั่งเสียงกับ Assistant เพื่อเริ่มออกกำลังกายในแอปฟิตเนสได้
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<capability android:name="actions.intent.START_EXERCISE">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.example.sampleApp"
android:targetClass="com.example.sampleApp.ExerciseActivity">
<parameter
android:name="exercise.name"
android:key="exerciseType"/>
</intent>
</capability>
</shortcuts>
ในตัวอย่างก่อนหน้านี้ แอตทริบิวต์ <capability>
android:name
หมายถึง BII START_EXERCISE
หากผู้ใช้เรียกใช้ BII นี้โดยขอให้ Assistant "Ok Google เริ่มการเรียกใช้ใน ExampleApp" Assistant จะดำเนินการตามคำขอของผู้ใช้โดยใช้ข้อมูลที่ระบุไว้ในองค์ประกอบ intent
ที่ฝังอยู่ intent
ในตัวอย่างนี้กำหนดรายละเอียดต่อไปนี้
android:targetPackage
จะตั้งค่าแพ็กเกจแอปพลิเคชันเป้าหมายสำหรับความตั้งใจนี้- ช่อง
android:targetClass
จะระบุกิจกรรมปลายทาง ดังนี้com.example.sampleApp.ExerciseActivity
- Intent
parameter
ประกาศการรองรับพารามิเตอร์ BIIexercise.name
และวิธีส่งค่าพารามิเตอร์ที่รวบรวมจากผู้ใช้เป็นข้อมูลเพิ่มเติมในintent
เชื่อมโยงแป้นพิมพ์ลัดกับความสามารถ
เมื่อกําหนดความสามารถแล้ว คุณจะขยายฟังก์ชันการทํางานของความสามารถนั้นได้โดยเชื่อมโยงทางลัดแบบคงที่หรือแบบไดนามิกกับความสามารถ วิธีที่ลิงก์แป้นพิมพ์ลัดกับ capability
จะขึ้นอยู่กับฟีเจอร์ที่ใช้และคำจริงที่รวมอยู่ในคำขอของผู้ใช้ ตัวอย่างเช่น เมื่อผู้ใช้เริ่มวิ่งในแอปติดตามการออกกำลังกายโดยถาม Assistant ว่า "Ok Google เริ่มวิ่งใน ExampleApp" Assistant ใช้แป้นพิมพ์ลัดเพื่อเปิดอินสแตนซ์ของ capability
ที่กําหนดเอนทิตีการออกกําลังกาย "run" ที่ถูกต้องสําหรับพารามิเตอร์ exercise.name
ได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมโยงทางลัดกับการดำเนินการของแอปได้ที่ภาพรวมการดำเนินการของแอป