広告と検索

ユーザーが必要なすべての権限を付与すると、アプリは以下を 付近のデバイスを探すために広告が表示されます。

まず、ユースケースに応じて Strategy を選択します。 選択した Strategy によって、アプリの接続トポロジ(1 つの 広告主を N 人の発見者に、M 広告主を N 人の発見者に振り分けます)。

アドバタイズするデバイスで、必要なパラメータを使用して startAdvertising() を呼び出します。 Strategy と、アプリを識別する serviceId パラメータ。

付近の広告主を検出するデバイスでは、startDiscovery() を呼び出します。 同じ StrategyserviceId です。

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()