تسمح ميزة "الإقران السريع" بأن يتم دمج التطبيقات المصاحبة للمصنّع الأصلي للجهاز بشكل كبير في عملية الإقران تجربة المستخدم. هناك العديد من نقاط التكامل التي يمكن لجذب المستخدمين بعد الانتهاء من الإقران السريع.
التثبيت أثناء تجربة الاستخدام خارج الصندوق (OOBE)
تسمح ميزة "الإقران السريع" للمستخدمين بتنزيل التطبيق المصاحب لسماعة الرأس باعتباره الخطوة الأخيرة من تجربة المنتجات الجاهزة (OOBE). يتم عرض ذلك للمستخدم في إشعار يخبرهم بأن عملية الإقران قد انتهت وأنه بإمكانهم إما نزِّل التطبيق إذا لم يكن مثبّتًا، أو افتحه وابدأ استخدامه.
لبدء استخدام هذه الميزة، أضِف اسم حزمة التطبيق المصاحب إلى تفاصيل الجهاز على وحدة التحكّم.
تتضمّن التطبيقات المصاحبة التي يتم تشغيلها من خلال ميزة "الإقران السريع" عنصرَي بيانات إضافيَين:
android.bluetooth.device.extra.DEVICE
- جهاز البلوتوث الذي أدّى إلى إرسال الإشعار.com.google.android.gms.nearby.discovery.fastpair.MODEL_ID
-java.lang.String
الذي يمثّل رقم تعريف النموذج الخاص بالجهاز المقترن الخاص بك.
دمج شريحة الإعدادات
يمكن تقديم الشرائح بواسطة تطبيق مصاحب لتعزيز الخيارات المتاحة على شاشة الجهاز صفحة إعدادات البلوتوث
SliceProvider من خلال تطبيق مصاحب لتوفير شرائح الإعدادات هذه. هناك يتوفر نوعان من الشرائح: شريحة OOBE وعناصر الإعدادات العامة. تشير رسالة الأشكال البيانية يجب تضمين شريحة OOBE إذا لم يضبط المستخدم سماعة الرأس بعد داخل التطبيق المصاحب وينبغي دائمًا تضمين الشرائح المتبقية، راجع نموذج التعليمات البرمجية أدناه:
@Nullable
@Override
public Slice onBindSlice(Uri sliceUri) {
String address = sliceUri.getQueryParameter("addr");
if (address == null) {
return null;
}
String path = sliceUri.getPathSegments().get(/* index= */ 0);
if ("settings_slice".equals(path)) {
return createSettingSlice(sliceUri, address);
} else if ("oobe_slice".equals(path)) {
return createOobeReminderSlice(sliceUri, address);
}
return null;
}
تُستخدم oobe_slice
لتذكير المستخدمين بإنهاء عملية إعداد أجهزتهم.
إذا لم يقم بذلك بعد في التطبيق المصاحب. يجب ألا يتضمن التطبيق المصاحب
تقديم الشريحة مرة أخرى بعد أن يكمل المستخدم عملية إعداد الجهاز
@Nullable
private Slice createOobeReminderSlice(Uri sliceUri, String address) {
if (!deviceHasGoneThroughOobe(address)) {
ListBuilder listBuilder =
new ListBuilder(context, sliceUri, ListBuilder.INFINITY);
addOobeSlice(listBuilder, context, address);
return listBuilder.build();
}
return null;
}
private static void addOobeSlice(
ListBuilder listBuilder, Context context, String address) {
listBuilder.addRow(
createRow(
context,
R.drawable.icon_oobe,
R.string.title_oobe,
R.string.summary_oobe,
R.string.label_oobe,
createOobePendingIntent(context, address)));
}
setting_slice
هو المكان الذي يمكن للتطبيقات المصاحبة أن تقدِّم فيه روابط تؤدي إلى التطبيقات الشائعة الاستخدام.
الإعدادات.
private Slice createSettingSlice(Uri sliceUri, String address) {
ListBuilder listBuilder =
new ListBuilder(context, sliceUri, ListBuilder.INFINITY);
// TODO: Add your customized slice here.
addRow1(listBuilder, context, address);
addRow2(listBuilder, context, address);
return listBuilder.build();
}
private static void addRow1(
ListBuilder listBuilder, Context context, String address) {
listBuilder.addRow(
createRow(
context,
R.drawable.fp_slice_row1_icon,
R.string.fp_slice_row1_title_gestures,
R.string.fp_slice_row1_summary_gestures,
R.string.fp_slice_row1_label_gestures,
createPendingIntent(context, address)));
}
private static void addRow2(
ListBuilder listBuilder, Context context, String address) {
...
}
ويجب أن يكون لكل شريحة عنوان وعنوان فرعي ورمز وإجراء.
private static RowBuilder createRow(
Context context,
@DrawableRes int iconId,
@StringRes int titleId,
@StringRes int summaryId,
@StringRes int actionTitleId,
PendingIntent pendingIntent) {
SliceAction action =
SliceAction.createDeeplink(
pendingIntent,
IconCompat.createWithResource(context, iconId),
ListBuilder.ICON_IMAGE,
context.getString(actionTitleId));
return new RowBuilder()
.setTitleItem(
IconCompat.createWithResource(context, iconId),
ListBuilder.ICON_IMAGE)
.setTitle(context.getString(titleId))
.setSubtitle(context.getString(summaryId))
.setPrimaryAction(action);
}
إضافة ما يلي إلى وحدة التحكم بعد تنفيذ SliceProvider
إلى
اسمح لخدمة "الإقران السريع" بالتحقق من اتصالها بالتطبيق الصحيح:
- مصدر الجهة المقدِّمة
- التطبيقات المصاحبة ملخص التوقيع العام
SHA-256
- يمكنك استخدام أداة apksigner للحصول على ملخّص SHA-256.
نية تحديث البرامج الثابتة
عندما يكون إصدار البرامج الثابتة لجهاز متصل قديمًا أو بدقة
عن إصدار البرامج الثابتة المهيأ في وحدة تحكم الجهاز،
سترسل ميزة "الإقران السريع" إشعارًا إلى التطبيق المصاحب من خلال
نيّة واحدة (com.google.android.gms.nearby.fastpair.ACTION_FIRMWARE_UPDATE_BROADCAST
)
بعد التحقق من إصدار البرامج الثابتة. يتضمن Intent المعلومات الإضافية التالية:
com.google.android.gms.nearby.fastpair.EXTRA_LOCAL_FIRMWARE_VERSION
، إصدار البرامج الثابتة للجهاز المتصلcom.google.android.gms.nearby.fastpair.EXTRA_UPDATE_NOTIFICATION_SHOWN
، تم الضبط إلىtrue
إذا عرضت ميزة "الإقران السريع" إشعارًا