使用者授予所有必要權限後,應用程式即可開始 廣播和探索,尋找附近的裝置。
首先,請根據您的用途選擇 Strategy。
您選取的 Strategy 會決定應用程式的連線拓撲 (單一
廣告客戶對 N 位探索者)。
在要放送廣告的裝置上,使用想要放送廣告的裝置呼叫 startAdvertising()
Strategy 和用於識別應用程式的 serviceId 參數。
在可搜尋附近廣告主的裝置上,呼叫 startDiscovery() 並填入
相同的 Strategy 和 serviceId。
serviceId 值必須明確識別應用程式。最佳做法是
應用程式的套件名稱 (例如 com.google.example.myapp)。
以下範例說明如何宣傳:
private void startAdvertising() {
AdvertisingOptions advertisingOptions =
new AdvertisingOptions.Builder().setStrategy(STRATEGY).build();
Nearby.getConnectionsClient(context)
.startAdvertising(
getLocalUserName(), SERVICE_ID, connectionLifecycleCallback, advertisingOptions)
.addOnSuccessListener(
(Void unused) -> {
// We're advertising!
})
.addOnFailureListener(
(Exception e) -> {
// We were unable to start advertising.
});
}ConnectionLifecycleCallback 參數是系統將叫用的回呼
當探索者要求與廣告客戶建立關係時。詳情請參閱管理
連結:
定義這個回呼。
以下範例說明如何探索:
private void startDiscovery() {
DiscoveryOptions discoveryOptions =
new DiscoveryOptions.Builder().setStrategy(STRATEGY).build();
Nearby.getConnectionsClient(context)
.startDiscovery(SERVICE_ID, endpointDiscoveryCallback, discoveryOptions)
.addOnSuccessListener(
(Void unused) -> {
// We're discovering!
})
.addOnFailureListener(
(Exception e) -> {
// We're unable to start discovering.
});
}EndpointDiscoveryCallback 參數是系統將叫用的回呼
使用者找到或遺失附近的廣告主時。詳情請參閱管理
連結:
定義這個回呼。
不再需要宣傳時,請呼叫 stopAdvertising()。
再也不必費心探索。stopDiscovery()