कनेक्शन प्रबंधित करें

कनेक्ट करने की प्रोसेस शुरू करना

आस-पास मौजूद डिवाइस मिलने पर, वह व्यक्ति कनेक्शन शुरू कर सकता है. कॉन्टेंट बनाने नीचे दिया गया उदाहरण डिवाइस से तुरंत कनेक्शन का अनुरोध करता है खोजा गया.

Swift

extension Example: DiscovererDelegate {
  func discoverer(
    _ discoverer: Discoverer, didFind endpointID: EndpointID, with context: Data) {
    // An endpoint was found. We request a connection to it. The endpoint info can be used
    // to provide arbitrary information to the discovering device (e.g. device name or type).
    discoverer.requestConnection(to: endpointID, using: "My Device".data(using: .utf8)!)
  }

  func discoverer(_ discoverer: Discoverer, didLose endpointID: EndpointID) {
    // A previously discovered endpoint has gone away.
  }
}

अपने इस्तेमाल के उदाहरण के आधार पर, हो सकता है कि आप इसके बजाय, खोजे गए प्रॉडक्ट की सूची दिखाना चाहें जिससे वे कनेक्ट किए जाने वाले डिवाइस चुन सकें.

किसी कनेक्शन को स्वीकार या अस्वीकार करना

जब उपयोगकर्ता ने विज्ञापन देने वाले व्यक्ति या कंपनी से कनेक्ट करने का अनुरोध किया, तब विज्ञापन देने वाले को इसके ज़रिए कनेक्शन अनुरोध की सूचना दी जाती है advertiser(_:didReceiveConnectionRequestFrom:with:connectionRequestHandler:) अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है डेलिगेट तरीका.

Swift

extension Example: AdvertiserDelegate {
  func advertiser(
    _ advertiser: Advertiser, didReceiveConnectionRequestFrom endpointID: EndpointID,
    with context: Data, connectionRequestHandler: @escaping (Bool) -> Void) {
    // Call with `true` to accept or `false` to reject the incoming connection request.
    connectionRequestHandler(true)
  }
}

विज्ञापन देने वाले व्यक्ति या कंपनी के न्योता स्वीकार करने के बाद, दोनों पक्षों को इसकी सूचना दी जाती है. साथ ही, उन्हें इसकी पुष्टि करनी होती है connectionManager(_:didReceive:from:verificationHandler:) से मिला कनेक्शन डेलिगेट तरीका.

यह सुझाव दिया जाता है कि आपका ऐप्लिकेशन की पुष्टि करने के लिए, दूसरा तरीका इस्तेमाल करके पुष्टि करने के लिए भेजा गया कोड भेजा जाता है. इससे दो तरह के लोगों को उपयोगकर्ता यह पुष्टि करते हैं कि वे सही डिवाइस से कनेक्ट कर रहे हैं. दोनों डिवाइस इसमें वही कोड दिया गया है, जो कोई छोटी रैंडम स्ट्रिंग होती है; यह आपको तय करना है उसे कैसे सत्यापित करें. आम तौर पर, इसमें दोनों डिवाइसों पर टोकन दिखाना और ब्लूटूथ की मदद से दूसरे डिवाइस से जोड़ने की तरह ही, उपयोगकर्ताओं को मैन्युअल तरीके से तुलना और पुष्टि करने के लिए कहा जा रहा है डायलॉग.

Swift

extension Example: ConnectionManagerDelegate {
  func connectionManager(
    _ connectionManager: ConnectionManager, didReceive verificationCode: String,
    from endpointID: EndpointID, verificationHandler: @escaping (Bool) -> Void) {
    // Optionally show the user the verification code. Your app should call this handler
    // with a value of `true` if the nearby endpoint should be trusted, or `false`
    // otherwise.
    verificationHandler(true)
  }
}

दोनों पक्षों के स्वीकार करने पर ही कनेक्शन पूरी तरह से स्थापित होता है. अगर एक या दोनों अस्वीकार कर देते हैं, तो कनेक्शन खारिज कर दिया जाता है.

ऊपर दिए गए उदाहरण दिखाता है कि दोनों खातों ने कनेक्शन को अपने-आप स्वीकार किया है पक्ष हैं, लेकिन आपके उपयोग के उदाहरण के आधार पर हो सकता है कि आप किसी न किसी तरह से उपयोगकर्ता को खतरा हो सकता है.