แป้นพิมพ์ลัดสำหรับ Android ช่วยให้ผู้ใช้ วิธีดำเนินการหรือเข้าถึงเนื้อหาในแอป Assistant สามารถแนะนําทางลัดแบบไดนามิกสำหรับ Android ของคุณให้กับผู้ใช้ที่ ที่เกี่ยวข้อง เพื่อช่วยให้ผู้ใช้ค้นพบและเล่นซ้ำ ฟังก์ชันที่พร้อมใช้งานเสียง
ตัวอย่างเช่น คุณสามารถพุชทางลัดสำหรับแต่ละโน้ตที่ผู้ใช้สร้างขึ้นในแอปจดบันทึกของคุณ คุณทำให้ลิงก์แบบไดนามิกมีสิทธิ์แสดงในแพลตฟอร์มต่างๆ ของ Google เช่น Assistant ได้โดยการเพิ่มไลบรารี Jetpack สำหรับการผสานรวมทางลัดของ Google ลงในโปรเจ็กต์
ไลบรารีนี้ช่วยให้ Assistant สามารถใช้แป้นพิมพ์ลัดแบบไดนามิกที่คุณพุชโดยใช้
ShortcutManagerCompat
ซึ่งเป็น Wrapper ของ Jetpack สำหรับฟังก์ชัน
ShortcutManager
API
เมื่อคุณใช้ไลบรารีการผสานรวมทางลัดของ Google ในแอปไดนามิก
ทางลัดที่คุณพุชไปยัง Google จะปรากฏให้ผู้ใช้เห็นเป็นคำแนะนำทางลัดเสียง
ในแอป Assistant คุณสามารถพุชแป้นพิมพ์ลัดแบบไดนามิกได้ไม่จำกัดจำนวนไปยัง
Assistant ที่ใช้เมธอด pushDynamicShortcut()
ของ
ไลบรารี ShortcutManagerCompat
กำหนดค่าโปรเจ็กต์การพัฒนา
การเพิ่มฟังก์ชันทางลัดแบบไดนามิกลงในแอปของคุณต้องใช้ ไลบรารีการผสานรวมทางลัดของ Google ซึ่งเป็นไลบรารี Android Jetpack ส่วนนี้จะอธิบายวิธีกำหนดค่าโปรเจ็กต์การพัฒนาแอปให้รวมไลบรารีนี้
โปรดทำตามขั้นตอนต่อไปนี้เพื่อเพิ่มไลบรารี Jetpack นี้และกำหนดค่าโปรเจ็กต์
อัปเดตไฟล์
gradle.properties
เพื่อจัดการไลบรารี Jetpack ดังนี้gradle.properties
android.useAndroidX=true # Automatically convert third-party libraries to use AndroidX android.enableJetifier=true
เพิ่มไลบรารีของ Jetpack ที่ต้องใช้ลงใน
build.gradle
app/build.gradle
dependencies { implementation "androidx.core:core:1.6.0" implementation "androidx.core:core-google-shortcuts:1.0.1" ... }
ในโค้ดตัวอย่างก่อนหน้านี้ คุณแสดงไลบรารี Jetpack 2 รายการเป็น ทรัพยากร Dependency ไลบรารี
androidx.core:core:1.6.0
ประกอบด้วย คลาสShortcutManagerCompat
ซึ่งคุณใช้เพื่อพุชทางลัดแบบไดนามิกไปยัง Googleandroidx.core:core-google-shortcuts:1.0.1
คือกลุ่ม Google ไลบรารีการผสานรวมทางลัด ไลบรารีนี้ไม่มีหน้าสำหรับนักพัฒนาซอฟต์แวร์ API การเพิ่มแอปเป็นทรัพยากร Dependency จะทำให้ Assistant สามารถ แป้นพิมพ์ลัดแบบไดนามิกที่คุณพุชโดยใช้คลาสShortcutManagerCompat
เพิ่มแป้นพิมพ์ลัดแบบไดนามิก
วิธีพุชทางลัดแบบไดนามิกที่มีสิทธิ์แสดงบน Assistant
คุณสร้างทางลัดเป็นครั้งแรกโดยใช้ ShortcutInfoCompat.Builder()
จากนั้นพุชทางลัดโดยใช้
ShortcutManagerCompat.pushDynamicShortcut()
วิธี ระบบจะพุชทางลัดทุกครั้งที่ผู้ใช้ดำเนินการที่เกี่ยวข้องในแอปของคุณ ตัวอย่างโค้ดต่อไปนี้จะพุชทางลัดทุกครั้งที่ผู้ใช้สร้างรายการในแอปโน้ตและรายการ
ตัวอย่างกิจกรรมการสั่งซื้อ
Kotlin
// Define the dynamic shortcut for an item var intent = Intent(context, DisplayOrderActivity::class.java) intent.action = Intent.ACTION_VIEW var shortcutInfo = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List") ) .setIntent(intent) // Push the shortcut .build() // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
Java
// Define the dynamic shortcut for an item Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Running") .setLongLabel("Start running") .addCapabilityBinding( "actions.intent.CREATE_ITEM_LIST", "itemList.name", Arrays.asList("My First List")) .setIntent(intent) .build(); // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
id
ที่อ้างอิงในเมธอด ShortcutInfoCompat.Builder
ในก่อนหน้านี้
โค้ดตัวอย่างกำหนด shortcutId
ของออบเจ็กต์ทางลัดที่ได้ id
เครื่องนี้
ต้องเป็นสัญพจน์ของสตริงที่ไม่ซ้ำกัน โปรดดูรายละเอียดที่
เอกสารประกอบเกี่ยวกับทางลัดของ Android
ในตัวอย่างก่อนหน้านี้ เมธอด addCapabilityBinding
จะเชื่อมโยงโฆษณาแบบไดนามิก
ทางลัดไปยัง capability
ของ android:name
เดียวกันที่กำหนดไว้ใน
shortcuts.xml
วิธีนี้จะช่วยให้คุณเชื่อมโยงทางลัดไปยัง
พารามิเตอร์ Intent ในตัว (BII) เชิงความหมาย
บางครั้งระบบจะพุชแป้นพิมพ์ลัดแบบไดนามิกโดยไม่มีพารามิเตอร์ BII
การเชื่อมโยง เมื่อผู้ใช้เรียกใช้ Assistant จะทริกเกอร์ intent
ที่กําหนดไว้ในทางลัดเพื่อดําเนินการ ตัวอย่างต่อไปนี้แสดงทางลัดแบบไดนามิกที่ไม่มีการเชื่อมโยงพารามิเตอร์
Kotlin
var intent: Intent = Intent(context, DisplayOrderActivity::class.java) intent.setPackage(this, "com.sample.app") intent.setAction(Intent.ACTION_VIEW) var shortcutInfo: ShortcutInfoCompat = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build() ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
Java
Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setPackage(this, "com.sample.app"); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Create a list") .setLongLabel("Create a list") .addCapabilityBinding("actions.intent.CREATE_ITEM_LIST") .setIntent(intent) .build(); ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
ทดสอบทางลัดแบบไดนามิกด้วย Assistant
เมื่อ Google Assistant เพิ่มทางลัดแบบไดนามิกจาก ทางลัดนี้จะมีสิทธิ์ปรากฏเป็นการแนะนำทางลัดด้วยเสียงใน แอป Assistant สำหรับ Android แอป Assistant แนะนำทางลัดล่าสุด ที่แอปของคุณพุชเข้ามา
หากต้องการทดสอบทางลัดแบบไดนามิกด้วย Assistant ให้ทำตามขั้นตอนต่อไปนี้
- สร้างตัวอย่างการดำเนินการของแอปและเตรียมอุปกรณ์ทดสอบหรือ โปรแกรมจำลองสำหรับทดสอบการดำเนินการต่างๆ โดยทำตาม ที่จำเป็นสำหรับปลั๊กอิน Google Assistant
- เปิดแอปและกำหนดทางลัดแบบไดนามิกเพื่อพุช จากนั้นดำเนินการให้เสร็จสิ้น เช่น ถ้าคุณพุชทางลัดเมื่อ ระบบจะสร้างโน้ตในแอปการจดโน้ตของคุณ จากนั้นสร้างโน้ตใหม่
- เปิดทางลัดในแอปการตั้งค่า Assistant ในอุปกรณ์ บัญชี ทางลัดแบบไดนามิกจะปรากฏในรายการสำหรับแอปของคุณ