快速配對功能可讓原始設備製造商 (OEM) 隨附應用程式深入配對 。您可以選擇多種整合點 會在使用者完成快速配對後與他們互動。
開箱體驗 (OOBE) 期間的安裝作業
快速配對功能可讓使用者下載耳機的隨附應用程式, 開箱體驗 (OOBE) 的最後一步。這將顯示 通知他們配對已完成 如果尚未安裝,則下載應用程式。或者,直接開啟應用程式並啟動 利用 Vertex AI Workbench 使用者
如要開始使用這項功能,請將隨附應用程式的套件名稱新增至 到主控台查看裝置詳細資料。
快速配對功能啟動的隨附應用程式包含兩項額外資料元素:
android.bluetooth.device.extra.DEVICE
- 藍牙裝置 觸發了通知的時間點com.google.android.gms.nearby.discovery.fastpair.MODEL_ID
- a 代表配對配對模型 ID 的java.lang.String
裝置。
設定配量整合
Slice 可以由 隨附應用程式,進一步強化裝置裝置的可用選項 「藍牙設定」頁面。
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) {
...
}
每個 Slice 都需要有標題、副標題、圖示和動作。
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
意圖
並在韌體版本檢查完畢後
重新進行升級意圖包含以下額外資訊:
com.google.android.gms.nearby.fastpair.EXTRA_LOCAL_FIRMWARE_VERSION
, 已連結裝置的韌體版本com.google.android.gms.nearby.fastpair.EXTRA_UPDATE_NOTIFICATION_SHOWN
,已設定 如果快速配對顯示通知,則將權限授予true