總覽

無論網路連線能力為何,Nearby Connections 都屬於點對點網路 API,可讓應用程式輕鬆地即時探索、連線及交換鄰近裝置的資料。

以下列舉一些用途:

  • 協作白板:透過共用虛擬白板,與附近的參與者進行想法。
  • 本機多人遊戲:設定多人遊戲,並邀請附近的其他使用者加入。
  • 多螢幕遊戲:您可以使用手機或平板電腦做為遊戲控制器,在鄰近的大螢幕 Android 裝置 (例如 Android TV) 上播放遊戲。
  • 離線檔案傳輸:即使未連上網路,也能快速分享相片、影片或其他類型的資料。

簡介

Nearby Connections 以完全離線的點對點的方式,讓附近的裝置互相放送廣告、探索和連線。裝置間的連線頻寬高、低延遲,而且經過完整加密,可提供快速且安全的資料移轉。

這個 API 的主要目標是提供簡單、可靠且效能卓越的平台。實際上,API 搭配使用藍牙、BLE 和 Wi-Fi 技術,並運用這兩項技術的強度,同時規避其各自弱點。這個方法可有效簡化各種平台和 OS 版本的藍牙和 Wi-Fi 錯誤,讓開發人員能夠專心處理使用者重視的功能。

API 總覽

API 的使用方式可分為兩個階段:連線前和連線後。

在連線前階段,廣告客戶通常會宣傳自家廣告,而探索者則會發現附近的廣告客戶並傳送連線要求。從「探索者」與「廣告客戶」之間的連線要求會啟動對稱驗證流程,這會導致雙方同時接受 (或拒絕) 連線要求。

在兩方都接受連線要求之後,系統會視為已建立連線,且裝置在連線後階段進入連線狀態,可以在兩端之間交換資料。

廣告和探索

其他探索廣告客戶將可以看見廣告客戶,並會在發現新廣告客戶或流失的客戶時收到通知。

建立連線

發現者想與附近的廣告客戶連線時,可以要求建立連線。

雙方都會收到連線啟動程序的通知,而雙方都能接受或拒絕連線。

雙方在回覆後都會收到結果。如果雙方都接受連線,系統就會視為連線建立,然後資料轉移即可開始。

交換資料

建立連線後,額外的 API 用量會視為對稱,因此廣告客戶和發現工具沒有區別。

雙方現在都可以交換資料。支援的酬載分為 3 種:

  • 位元組:位元組陣列上限為 32k,非常適合傳送中繼資料或控制訊息等。
  • 檔案:任何大小的檔案,都會從應用程式傳輸至網路介面,且會跨程序邊界盡可能複製。
  • 串流:即時產生的資料串流,與已錄製音訊/影片一樣,並沒有事先確定的最終大小。

接收器會收到新傳入資料和任何進度更新、取消或失敗的通知。

已建立的連線採用全形連線,也就是說,廣告客戶和探索者可以同時傳送和接收資料。

資料收集

使用 Google Play 服務 Nearby SDK 時,系統會收集使用狀況分析,藉此改善使用體驗。

  • 成效指標:使用 Nearby SDK 掃描及連線至裝置時,系統會收集探索和連線延遲時間、可靠性和處理量。
  • 裝置資訊:系統會收集裝置型號、國家/地區、版本版本和應用程式套件名稱,並與成效指標建立關聯,以識別區域和裝置專用的 Slice。

使用者可以依序前往「設定」>「Google」>「使用狀況與診斷」,藉此允許或拒絕這個集合。