تتيح اختصارات Android للمستخدمين طرق لتنفيذ إجراء أو الوصول إلى المحتوى في أحد التطبيقات. يمكن لخدمة "مساعد Google" أن تقترح بشكل استباقي اختصارات Android الديناميكية على المستخدمين في ذات صلة، مما يتيح للمستخدمين اكتشاف وإعادة تشغيل الوظائف الصوتية.
على سبيل المثال، يمكنك فرض اختصار لكل ملاحظة ينشئها المستخدم فيها
تطبيق تدوين الملاحظات. أنت تصنع
الروابط الديناميكية المؤهَّلة للعرض على مساحات عرض Google، مثل "مساعد Google"
من خلال إضافة مكتبة Jetpack الخاصة بدمج اختصارات Google إلى مشروعك.
تتيح هذه المكتبة لخدمة "مساعد Google" استخدام الاختصارات الديناميكية التي تدفعها باستخدام
ShortcutManagerCompat
، وهي برنامج تضمين في Jetpack
ShortcutManager
واجهة برمجة التطبيقات.
عند استخدام مكتبة دمج "اختصارات Google" في تطبيقك،
إنّ الاختصارات التي تدفعها إلى Google تكون مرئية للمستخدمين كاقتراحات للاختصارات الصوتية.
في تطبيق المساعد. يمكنك دفع عدد غير محدود من الاختصارات الديناميكية
"مساعد Google" باستخدام طريقة pushDynamicShortcut()
ShortcutManagerCompat
.
ضبط إعدادات مشروع التطوير
لإضافة وظيفة الاختصارات الديناميكية إلى تطبيقك، يجب أن يكون لديك مكتبة دمج اختصارات Google، وهي مكتبة Jetpack من Android. يوضِّح هذا القسم كيفية ضبط مشروع تطوير التطبيقات لتضمينه. هذه المكتبة.
لإضافة مكتبة 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 والتبعيات لديك. تحتوي مكتبة "
androidx.core:core:1.6.0
" على صف واحد (ShortcutManagerCompat
) تستخدمه للدفع بالاختصارات الديناميكية إليه Google.تقدّم
androidx.core:core-google-shortcuts:1.0.1
منصة مكتبة تكامل الاختصارات. لا تحتوي هذه المكتبة على تطبيقات موجّهة للمطوّرين واجهة برمجة التطبيقات. تؤدي إضافة هذه التبعية إلى السماح لـ "مساعد Google" بتولي الاختصارات الديناميكية التي تدفعها باستخدام الفئةShortcutManagerCompat
.
دفع الاختصارات الديناميكية
لإرسال الاختصارات الديناميكية المؤهَّلة للعرض على "مساعد Google"،
يجب أولاً إنشاء الاختصار باستخدام ShortcutInfoCompat.Builder()
الصف.
يمكنك بعد ذلك الضغط على الاختصار باستخدام زر
طريقة ShortcutManagerCompat.pushDynamicShortcut()
. تم إرسال الاختصارات
كلما أكمل المستخدم إجراءً ذا صلة في تطبيقك. النموذج التالي
يؤدي الرمز إلى اختصار اختصار في كل مرة يقدم فيها المستخدم طلبًا في تطبيق توصيل الطعام:
ExampleOrderActivity
Kotlin
// Define the dynamic shortcut for a menu item var intent = Intent(context, DisplayOrderActivity::class.java) intent.action = Intent.ACTION_VIEW var shortcutInfo = ShortcutInfoCompat.Builder(context, id) .setShortLabel("Cappuccino") .setLongLabel("Order another cappuccino") .addCapabilityBinding( "actions.intent.ORDER_MENU_ITEM", "menuItem.name", Arrays.asList("cappuccino") ) .setIntent(intent) // Push the shortcut .build() // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo)
Java
// Define the dynamic shortcut for a menu item Intent intent = new Intent(context, DisplayOrderActivity.class); intent.setAction(Intent.ACTION_VIEW); ShortcutInfoCompat.Builder shortcutInfo = new ShortcutInfoCompat.Builder(context, id) .setShortLabel("Cappuccino") .setLongLabel("Order another cappuccino") .addCapabilityBinding( "actions.intent.ORDER_MENU_ITEM", "menuItem.name", Arrays.asList("cappuccino")) .setIntent(intent) .build(); // Push the shortcut ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
تمثّل هذه السمة id
المُشار إليها في طريقة ShortcutInfoCompat.Builder
في المقالة السابقة
يحدد الرمز النموذجي shortcutId
لكائن الاختصار الناتج. هذا id
أن تكون سلسلة حرفية فريدة. للحصول على التفاصيل، يمكنك مراجعة
مستندات "اختصارات Android"
في المثال السابق، تربط الطريقة addCapabilityBinding
العنصر الديناميكي
اختصار إلى capability
من android:name
نفسه المحدد في
shortcuts.xml
تتيح لك هذه الطريقة ربط الاختصار
مَعلمة النية المضمّنة (BII) الدلالية.
يتم أحيانًا إرسال الاختصارات الديناميكية بدون أي معلمة BII محددة
المرتبطة بها. عندما يطلب المستخدم "مساعد Google"، يشغِّل 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("Order coffee") .setLongLabel("Order a cup of coffee") .addCapabilityBinding("actions.intent.ORDER_MENU_ITEM") .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("Order coffee") .setLongLabel("Order a cup of coffee") .addCapabilityBinding("actions.intent.ORDER_MENU_ITEM") .setIntent(intent) .build(); ShortcutManagerCompat.pushDynamicShortcut(context, shortcutInfo);
اختبار الاختصارات الديناميكية باستخدام "مساعد Google"
عندما ينجح "مساعد Google" في الوصول إلى اختصار ديناميكي من ، يكون الاختصار مؤهلاً للظهور كاقتراح لاختصار صوتي في تطبيق "مساعد Google" المتوافق مع Android يقترح تطبيق "مساعد Google" أحدث الاختصارات بواسطة تطبيقك.
لاختبار الاختصارات الديناميكية باستخدام "مساعد Google"، اتّبِع الخطوات التالية:
- يمكنك إنشاء معاينة لمهام التطبيقات وإعداد جهاز الاختبار أو لاختبار الإجراءات باتباع متطلبات الإعداد المتعلقة بمكوّن "مساعد Google" الإضافي.
- افتح التطبيق وحدِّد اختصارًا ديناميكيًا لإرساله. ثم أكمل إجراءً ما. على سبيل المثال، إذا ضغطت اختصارًا عند يتم إنشاء ملاحظة في تطبيق تدوين الملاحظات، ثم يتم إنشاء ملاحظة جديدة.
- افتح الاختصارات في تطبيق إعدادات "مساعد Google" على جهازك. الاختصار الديناميكي في القائمة الخاصة بتطبيقك.