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

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

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

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

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

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

    • ชื่อความสามารถ: การดำเนินการที่คุณต้องการให้แอปรองรับ โปรดดูเอกสารประกอบของคอมโพเนนต์สำหรับฟีเจอร์ที่ต้องใช้คำจำกัดความของความสามารถ คำสั่งที่พร้อมใช้งานด้วยเสียงของ 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 ประกาศการรองรับพารามิเตอร์ BII exercise.name และวิธีส่งค่าพารามิเตอร์ที่รวบรวมจากผู้ใช้เป็นข้อมูลเพิ่มเติมใน intent

เชื่อมโยงแป้นพิมพ์ลัดกับความสามารถ

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

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