ユーザーが必要なすべての権限を付与すると、アプリは以下を 付近のデバイスを探すために広告が表示されます。
まず、ユースケースに応じて Strategy を選択します。
選択した Strategy によって、アプリの接続トポロジ(1 つの
広告主を N 人の発見者に、M 広告主を 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()。