เพิ่มความสามารถลงในทางลัด

ความสามารถใน shortcuts.xml ช่วยให้คุณประกาศประเภทการกระทำที่ผู้ใช้สามารถทำได้เพื่อเปิดแอปและทำงานที่เฉพาะเจาะจงได้โดยตรง ความสามารถประกอบด้วยชื่อของการกระทำและ intent ที่กำหนดเป้าหมายปลายทางในแอปซึ่งจะช่วยให้ความตั้งใจของผู้ใช้ทำตามสิ่งที่ต้องการได้

กำหนดความสามารถใน shortcuts.xml

คุณกำหนดองค์ประกอบ capability ในไฟล์ทรัพยากร shortcuts.xml ในโปรเจ็กต์การพัฒนาแอป Android หากต้องการกำหนดองค์ประกอบ capability ให้ทำดังนี้

  1. สร้างทรัพยากร shortcuts.xml โดยทำตามวิธีการใน สร้าง ทางลัดแบบคงที่
  2. ใส่ข้อมูลที่จำเป็นต่อไปนี้ในความสามารถ

    • ชื่อความสามารถ: การกระทำที่คุณต้องการให้แอปรองรับ โปรดดูเอกสารประกอบของคอมโพเนนต์สำหรับฟีเจอร์ที่ต้องมีการกำหนดความสามารถ

    • ปลายทางของแอป: ปลายทางในแอปที่การกระทำจะเปิดขึ้นเพื่อตอบสนองคำขอของผู้ใช้ กำหนดปลายทางของแอปโดยใช้องค์ประกอบ intent ที่ซ้อนอยู่ใน capability

    • การแมปพารามิเตอร์: intent แต่ละรายการอาจมีพารามิเตอร์ที่จะส่งเป็นข้อมูล extra ของ Intent

ตัวอย่างต่อไปนี้แสดงการกำหนดความสามารถใน 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 ตั้งค่าแพ็กเกจแอปพลิเคชันเป้าหมายสำหรับ Intent นี้
  • ช่อง android:targetClass ระบุกิจกรรมปลายทาง com.example.sampleApp.ExerciseActivity
  • `parameter` ของ Intent ประกาศการรองรับพารามิเตอร์ exercise.name ของ BII และวิธีส่งค่าพารามิเตอร์ที่รวบรวม จากผู้ใช้เป็นข้อมูลเพิ่มเติมใน intentparameter

เชื่อมโยงทางลัดกับความสามารถ

เมื่อกำหนดความสามารถแล้ว คุณสามารถขยายฟังก์ชันการทำงานของความสามารถนั้นได้โดยการเชื่อมโยงทางลัดแบบคงที่หรือแบบไดนามิกกับความสามารถดังกล่าว วิธีลิงก์ทางลัดกับ capability จะขึ้นอยู่กับฟีเจอร์ที่กำลังใช้งานและคำที่ผู้ใช้ระบุไว้ในคำขอ เช่น เมื่อผู้ใช้เริ่มวิ่งในแอปติดตามการออกกำลังกาย โดยถาม Assistant ว่า "Ok Google เริ่มวิ่งใน ExampleApp หน่อย" Assistant สามารถใช้ทางลัดเพื่อเปิดใช้ capability ที่กำหนดเอนทิตีการออกกำลังกายที่ถูกต้องของ "วิ่ง" สำหรับพารามิเตอร์ exercise.name