แป้นพิมพ์ลัดสำหรับ 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()
วิธี ระบบจะพุชทางลัดทุกครั้งที่ผู้ใช้ดำเนินการที่เกี่ยวข้องในแอปของคุณ ตัวอย่างโค้ดต่อไปนี้จะพุชทางลัดทุกครั้งที่ผู้ใช้สร้างรายการในแอปโน้ตและรายการ
ตัวอย่างกิจกรรมการสั่งซื้อ
// 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)
// 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
ที่กําหนดไว้ในทางลัดเพื่อดําเนินการ ตัวอย่างต่อไปนี้แสดงทางลัดแบบไดนามิกที่ไม่มีการเชื่อมโยงพารามิเตอร์
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);
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 ในอุปกรณ์ บัญชี ทางลัดแบบไดนามิกจะปรากฏในรายการสำหรับแอปของคุณ