Nearby Messages, पब्लिश की जाने वाली सदस्यता के लिए एपीआई है. इसकी मदद से, आस-पास मौजूद डिवाइसों को एक-दूसरे के साथ शेयर किया जा सकता है छोटे पेलोड के साथ. डिवाइस पर मैसेज पब्लिश होने के बाद, आस-पास मौजूद डिवाइस ये कार्रवाइयां कर सकते हैं तो आपको मैसेज मिल रहा है. इस गाइड से, आपको सभी फ़ंक्शन के बारे में जानकारी मिलेगी मैसेज पब्लिश करने और मैसेज की सदस्यता लेने के लिए, आपके ऐप्लिकेशन को लागू करना ज़रूरी है Nearby Messages API का इस्तेमाल करके.
आस-पास के डिवाइसों का सेट ब्लूटूथ. जब कोई डिवाइस आस-पास के डिवाइस से टोकन का पता लगाता है, तो वह टोकन की पुष्टि करें और देखें कि कोई टोकन मौजूद है या नहीं ऐप्लिकेशन की सदस्यताओं के मौजूदा सेट के लिए डिलीवर करने के लिए मैसेज.
ऐप्लिकेशन, डिवाइस खोजने के लिए इस्तेमाल किए जाने वाले माध्यमों के सेट को कंट्रोल कर सकता है और क्या मीडियम का इस्तेमाल टोकन ब्रॉडकास्ट करने और/या टोकन को स्कैन करने के लिए किया जाता है. डिफ़ॉल्ट रूप से, सभी माध्यमों पर प्रसारण और स्कैन किया जाता है. ऐसा करें का पता लगाने के लिए प्रोत्साहित किया जा सकता है और यह कंट्रोल किया जा सकता है कि आपको पब्लिकेशन बनाते समय और पैरामीटर पास करने होंगे सदस्यताएं.
सक्रिय रूप से प्रकाशित करते और सदस्यता लेते समय, "आस-पास सुविधा का उपयोग किया जा रहा है" सूचना को दिखाया गया हो और उपयोगकर्ताओं को बताया जाता है कि 'आस-पास' सुविधा चालू है. यह सूचना केवल तभी दिखाया जाता है जब एक या ज़्यादा ऐप्स सक्रिय रूप से आस-पास का उपयोग कर रहे होते हैं, जिससे उपयोगकर्ता आस-पास सुविधा की ज़रूरत नहीं होने पर बैटरी लाइफ़ बचाने का मौका. यह आपको निम्नलिखित विकल्पों वाले उपयोगकर्ता:
- Nearby बंद करने के लिए किसी ऐप्लिकेशन पर जाएं.
- ऐप्लिकेशन को 'आस-पास' सुविधा इस्तेमाल करना बंद करने के लिए ज़बरदस्ती करना.
- आस-पास की सेटिंग वाली स्क्रीन पर जाएं.
PublishCallback()
का इस्तेमाल किया जा सकता है
और SubscribeCallback()
उन मामलों को सुनने के लिए जब उपयोगकर्ता ऐप्लिकेशन को आस-पास का उपयोग बंद करने के लिए मजबूर करता है. जब यह
होता है, तो
onExpired()
तरीका ट्रिगर होता है.
Nearby Messages API का इस्तेमाल करने से बैटरी लाइफ़ पर असर पड़ सकता है. उनका इस्तेमाल सिर्फ़ फ़ोरग्राउंड गतिविधि से किया जाना चाहिए. हालांकि, BLE से बैकग्राउंड की सदस्यता लेने की सुविधा).
publish()
पर कॉल करें
और/या subscribe()
Nearby Messages API का इस्तेमाल करें. आपके ऐप्लिकेशन को हमेशा ऐसा करना चाहिए
सममित रूप से unpublish()
और unsubscribe()
onStop()
में देखें.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
mMessage = new Message("Hello World".getBytes());
}
@Override
public void onStart() {
super.onStart();
...
Nearby.getMessagesClient(this).publish(mMessage);
Nearby.getMessagesClient(this).subscribe(mMessageListener);
}
@Override
public void onStop() {
Nearby.getMessagesClient(this).unpublish(mMessage);
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
...
super.onStop();
}
मैसेज पब्लिश करना
मैसेज पब्लिश करने के लिए, Nearby.getMessagesClient(Activity).publish()
पर कॉल करें
पास करना. हमारा सुझाव है कि आप मैसेज को कम समय पर रखें
3 केबी--ये मैसेज हम ज़्यादा तेज़ी से डिलीवर कर सकते हैं--लेकिन हम 100 केबी तक का
को भी इसकी ज़रूरत होती है. यह सेवा, ऐसे बड़े ऑब्जेक्ट की अदला-बदली करने के लिए नहीं है
फ़ोटो और वीडियो पर फ़ोकस करता है.
आपके पास PublishOptions.setStrategy()
को कॉल करने का विकल्प भी है
ताकि रणनीति को सेट किया जा सके
इस्तेमाल करें.
नीचे दिए गए उदाहरण में, publish()
को कॉल करके छोटा मैसेज भेजने का तरीका बताया गया है
संदेश:
private void publish(String message) {
Log.i(TAG, "Publishing message: " + message);
mActiveMessage = new Message(message.getBytes());
Nearby.getMessagesClient(this).publish(mActiveMessage);
}
मैसेज अनपब्लिश करना
मैसेज अनपब्लिश करने के लिए, unpublish()
पर कॉल करें. कम से कम आपका
ऐप्लिकेशन को उसके onStop()
में 'अनपब्लिश करें' को कॉल करना चाहिए
तरीका. वही Message
पास करें
ऑब्जेक्ट का नाम जिसका इस्तेमाल पब्लिश करने के लिए किया गया था (इस उदाहरण में mActiveMessage
).
नीचे दिया गया कोड का उदाहरण, unpublish()
को कॉल करने का तरीका दिखाता है:
private void unpublish() {
Log.i(TAG, "Unpublishing.");
if (mActiveMessage != null) {
Nearby.getMessagesClient(this).unpublish(mActiveMessage);
mActiveMessage = null;
}
}
मैसेज पाने के लिए सदस्यता लेना
दूसरे डिवाइसों से मैसेज की सदस्यता लेने के लिए, Nearby.getMessagesClient(Activity).subscribe()
पर कॉल करें. आपको इसे पास करना होगा
MessageListener
की सदस्यता ली हुई है.
आपके पास SubscribeOptions.setStrategy()
को कॉल करने का विकल्प भी है
ताकि रणनीति को सेट किया जा सके
इस्तेमाल करें.
इस उदाहरण में, मैसेज की सदस्यता लेने के बारे में बताया गया है:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mMessageListener = new MessageListener() {
@Override
public void onFound(Message message) {
Log.d(TAG, "Found message: " + new String(message.getContent()));
}
@Override
public void onLost(Message message) {
Log.d(TAG, "Lost sight of message: " + new String(message.getContent()));
}
}
}
// Subscribe to receive messages.
private void subscribe() {
Log.i(TAG, "Subscribing.");
Nearby.getMessagesClient(this).subscribe(mMessageListener, options);
}
सदस्यता छोड़ें
सदस्यता छोड़ने और डिवाइस पर मैसेज पाना बंद करने के लिए, कॉल करें
Nearby.getMessagesClient(Activity).unsubscribe()
. पहले जैसी
MessageListener
वह ऑब्जेक्ट जिसका इस्तेमाल सदस्यता लेने के लिए किया गया था (इस उदाहरण में mMessageListener
).
यहां दिए गए कोड के उदाहरण में, सदस्यता छोड़ने के बारे में बताया गया है:
private void unsubscribe() {
Log.i(TAG, "Unsubscribing.");
Nearby.getMessagesClient(this).unsubscribe(mMessageListener);
}