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

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

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

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

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

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