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

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

ตัวอย่างเช่น App Actions ของ Google Assistant ใช้ความสามารถเพื่อช่วยให้นักพัฒนาแอป ขยายฟีเจอร์ในแอปไปยังIntent ในตัว (BII) ซึ่งช่วยให้ผู้ใช้เปิดใช้งาน และควบคุมฟีเจอร์เหล่านั้นได้โดยใช้คำสั่งเสียง ความสามารถประกอบด้วย ชื่อของการกระทำและintentที่กำหนดเป้าหมายไปยังปลายทางในแอปซึ่ง แก้ปัญหาความตั้งใจของผู้ใช้

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

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

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

    • ชื่อความสามารถ: การกระทำที่คุณต้องการให้แอปของคุณรองรับ โปรดดูเอกสารประกอบของคอมโพเนนต์สำหรับฟีเจอร์ที่ต้องมีคำจำกัดความของความสามารถ คำสั่งที่เปิดใช้เสียงของ App Actions ใช้ BII Action ID สำหรับชื่อความสามารถ ซึ่งคุณดูได้ในข้อมูลอ้างอิง BII เช่น GET_THING BII แสดง Action ID เป็น actions.intent.GET_THING

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

    • การแมปพารามิเตอร์: intent แต่ละรายการอาจมีพารามิเตอร์ที่จะ ส่งเป็นข้อมูล extra ของ Intent ตัวอย่างเช่น BII ของ App Actions แต่ละรายการ จะมีช่องที่แสดงข้อมูลซึ่งผู้ใช้มักระบุในคำค้นหาที่ ทริกเกอร์ 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 หมายถึง START_EXERCISE BII หากผู้ใช้เรียกใช้ BII นี้โดยถาม Assistant ว่า "Ok Google เริ่มวิ่งใน ExampleApp หน่อย" Assistant จะทำตามคำขอของผู้ใช้โดยใช้ข้อมูลที่ระบุในองค์ประกอบ intent ที่ซ้อนกัน intent ในตัวอย่างนี้ กำหนดรายละเอียดต่อไปนี้

  • android:targetPackage ตั้งค่าแพ็กเกจแอปพลิเคชันเป้าหมายสำหรับ Intent นี้
  • ฟิลด์ android:targetClass ระบุกิจกรรมปลายทาง ดังนี้ com.example.sampleApp.ExerciseActivity
  • Intent parameter ประกาศการรองรับพารามิเตอร์ BII exercise.name และวิธีส่งค่าพารามิเตอร์ที่รวบรวม จากผู้ใช้เป็นข้อมูลเพิ่มเติมใน intent

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเชื่อมโยงทางลัดกับการดำเนินการของแอปได้ที่ภาพรวมการดำเนินการของแอป