Nearby Messages API, पब्लिश-सब्सक्राइब एपीआई है. इसकी मदद से, इंटरनेट से कनेक्ट किए गए Android और iOS डिवाइसों के बीच छोटे बाइनरी पेलोड पास किए जा सकते हैं. डिवाइसों का एक ही नेटवर्क से कनेक्ट होना ज़रूरी नहीं है. हालांकि, उनका इंटरनेट से कनेक्ट होना ज़रूरी है.
Nearby, ब्लूटूथ लो एनर्जी का इस्तेमाल करता है. इससे डिवाइसों के बीच, कुछ समय के लिए यूनीक पेयरिंग कोड शेयर किया जाता है. सर्वर, उन डिवाइसों के बीच मैसेज शेयर करने की सुविधा देता है जो एक ही पेयरिंग कोड का पता लगाते हैं. जब किसी डिवाइस को आस-पास मौजूद किसी डिवाइस से जोड़ने के लिए कोड का पता चलता है, तो वह पुष्टि करने के लिए, Nearby Messages सर्वर को जोड़ने के लिए कोड भेजता है. साथ ही, यह देखने के लिए भी भेजता है कि ऐप्लिकेशन की सदस्यता के मौजूदा सेट के लिए, कोई मैसेज डिलीवर करना है या नहीं.
Nearby Messages की पुष्टि नहीं की जाती है. इसके लिए, Google खाते की ज़रूरत नहीं होती.
डेटा एक्सचेंज करने का सटीक तरीका, रिलीज़ के हिसाब से अलग-अलग हो सकता है. मैसेज एक्सचेंज करने से जुड़े इवेंट का क्रम यहां दिया गया है:
पब्लिशिंग ऐप्लिकेशन, बाइनरी पेलोड (मैसेज) को यूनीक-इन-टाइम पेयरिंग कोड (टोकन) से जोड़ने का अनुरोध करता है. सर्वर, मैसेज पेलोड और टोकन के बीच कुछ समय के लिए संबंध बनाता है.
पब्लिश करने वाला डिवाइस, ब्लूटूथ लो एनर्जी का इस्तेमाल करके टोकन को आस-पास मौजूद डिवाइसों के लिए उपलब्ध कराता है. डेटा पब्लिश करने वाला डिवाइस, ब्लूटूथ लो एनर्जी का इस्तेमाल करके अन्य डिवाइसों से टोकन स्कैन करता है.
सदस्यता लेने वाला ऐप्लिकेशन, अपनी सदस्यता को टोकन से जोड़ता है. साथ ही, ब्लूटूथ स्मार्ट (बीएलई) का इस्तेमाल करके, पब्लिशर को अपना टोकन भेजता है और पब्लिशर के टोकन का पता लगाता है.
जब दोनों में से कोई भी पक्ष दूसरे पक्ष के टोकन का पता लगाता है, तो वह इसकी सूचना सर्वर को देता है.
जब दोनों डिवाइस एक ही टोकन से जुड़े होते हैं, तब सर्वर दो डिवाइसों के बीच मैसेज एक्सचेंज करने की सुविधा देता है. साथ ही, कॉल करने वाले ऐप्लिकेशन की ओर से इस्तेमाल की गई एपीआई कुंजियां, Google Developers Console में एक ही प्रोजेक्ट से जुड़ी होती हैं.
Google Play services Nearby SDK का इस्तेमाल करने पर, इस्तेमाल से जुड़े आंकड़े इकट्ठा किए जाते हैं. इससे उपयोगकर्ता अनुभव को बेहतर बनाया जा सकता है.
- परफ़ॉर्मेंस मेट्रिक: Nearby SDK का इस्तेमाल करते समय, पब्लिश और सदस्यता लेने की अवधि और मिले हुए मैसेज की संख्या इकट्ठा की जाती है.
- डिवाइस की जानकारी: डिवाइस मॉडल, देश, बिल्ड वर्शन, और ऐप्लिकेशन पैकेज का नाम इकट्ठा किया जाता है. साथ ही, इसे परफ़ॉर्मेंस मेट्रिक से जोड़ा जाता है, ताकि क्षेत्र और डिवाइस के हिसाब से स्लाइस की पहचान की जा सके.
- Nearby Messages पब्लिश करता है: Nearby Messages के ज़रिए पब्लिश किया गया डेटा, Google तब तक सेव करके रखता है, जब तक मैसेज पब्लिश किया जाता है. यह डेटा, डिवाइस के आस-पास मौजूद उन लोगों के साथ शेयर किया जाता है जिन्होंने सदस्यता ली है.
असली उपयोगकर्ता, सेटिंग > Google > इस्तेमाल और गड़बड़ी की जानकारी पर जाकर, इस डेटा को इकट्ठा करने की अनुमति दे सकते हैं या इसे अस्वीकार कर सकते हैं.