विज्ञापन दें और खोजें

उपयोगकर्ता को सभी ज़रूरी अनुमतियां मिल जाने के बाद, आपका ऐप्लिकेशन आस-पास मौजूद डिवाइसों को खोजने के लिए, विज्ञापन देना और खोजना शुरू कर सकता है.

सबसे पहले, उपयोग के उदाहरण के लिए कोई Strategy चुनें. आपके ज़रिए चुने गए Strategy से आपके ऐप्लिकेशन के लिए कनेक्शन टोपोलॉजी तय होती है. जैसे, विज्ञापन देने वाला एक व्यक्ति या N खोज करने वाला या N विज्ञापन देने वाला, N खोज करने वाला होता है.

उन डिवाइसों पर, जिनका विज्ञापन दिया जाएगा, startAdvertising() को मनचाहे Strategy और serviceId पैरामीटर से कॉल करें जिससे आपके ऐप्लिकेशन की पहचान होती है.

आस-पास मौजूद विज्ञापन देने वालों के बारे में जानने वाले डिवाइस पर, उसी Strategy और serviceId की मदद से startDiscovery() को कॉल करें.

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() पर कॉल करें.