अलग-अलग डिवाइसों पर, किसी नेटवर्क पर सीधे तौर पर बातचीत करें

Wear OS by Google की मदद से, स्मार्टवॉच बिना किसी नेटवर्क के नेटवर्क से कनेक्ट की जा सकती है आपके पास Android या iOS फ़ोन का ऐक्सेस होना चाहिए. किसी फ़ाइल को बनाने के लिए Wear OS ऐप्लिकेशन को नेटवर्क से जोड़ना. इसके बजाय, इसमें दिए गए दिशा-निर्देशों और चरणों को अपनाएं पढ़ें.

नेटवर्क का ऐक्सेस

Wear OS ऐप्लिकेशन, नेटवर्क से जुड़े अनुरोध कर सकते हैं. स्मार्टवॉच में ब्लूटूथ चालू होने पर फ़ोन से कनेक्ट करते हैं, तो घड़ी का नेटवर्क ट्रैफ़िक आम तौर पर प्रॉक्सी के ज़रिए दिखाया जाता है. फ़ोन.

जब कोई फ़ोन उपलब्ध नहीं होता है, तो वाई-फ़ाई और सेल्युलर नेटवर्क का इस्तेमाल किया जाता है. स्मार्टवॉच का हार्डवेयर. Wear OS प्लैटफ़ॉर्म, नेटवर्क के बीच ट्रांज़िशन मैनेज करता है.

एचटीटीपी, टीसीपी, और यूडीपी जैसे प्रोटोकॉल इस्तेमाल किए जा सकते हैं. हालांकि, android.webkit एपीआई में CookieManager क्लास शामिल हैं उपलब्ध हैं. आप अनुरोधों पर हेडर पढ़कर और लिखकर कुकी का इस्तेमाल कर सकते हैं और जवाब.

एसिंक्रोनस अनुरोधों के लिए WorkManager का इस्तेमाल करें. इसमें सामान्य पोलिंग के अनुरोध भी शामिल हैं अंतराल.

अगर आपको खास तरह के नेटवर्क से कनेक्ट करने की ज़रूरत है, तो रीडिंग नेटवर्क राज्य के हिसाब से सही है.

हाई बैंडविथ नेटवर्क ऐक्सेस

Wear OS प्लैटफ़ॉर्म, नेटवर्क कनेक्टिविटी को मैनेज करता है. इसका मकसद, उपयोगकर्ता को बेहतरीन अनुभव मिलता है. प्लैटफ़ॉर्म, डिफ़ॉल्ट रूप से ऐक्टिव नेटवर्क को इसके हिसाब से चुनता है दो ज़रूरतों को पूरा करना: लंबी बैटरी लाइफ़ और नेटवर्क बैंडविथ.

जब बैटरी संरक्षण को प्राथमिकता दी जाती है, तो हो सकता है कि सक्रिय नेटवर्क में नेटवर्क से जुड़े कामों के लिए काफ़ी बैंडविथ, जैसे कि बड़ी फ़ाइलें एक जगह से दूसरी जगह भेजना या स्ट्रीमिंग करना मीडिया.

इस सेक्शन में, ConnectivityManager क्लास का इस्तेमाल इन कामों के लिए किया जा सकता है यह पक्का करने में मदद करते हैं कि आपके ऐप्लिकेशन के पास ज़रूरत के मुताबिक नेटवर्क बैंडविथ है. सामान्य नेटवर्क संसाधनों पर सूक्ष्म नियंत्रण के बारे में जानकारी, मैनेज करें नेटवर्क के इस्तेमाल की जानकारी.

वाई-फ़ाई कनेक्टिविटी का अनुरोध करें

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

Kotlin

val callback = object : ConnectivityManager.NetworkCallback() {
    override fun onAvailable(network: Network) {
        super.onAvailable(network)
        // The Wi-Fi network has been acquired. Bind it to use this network by default.
        connectivityManager.bindProcessToNetwork(network)
    }

    override fun onLost(network: Network) {
        super.onLost(network)
        // Called when a network disconnects or otherwise no longer satisfies this request or callback.
    }
}
connectivityManager.requestNetwork(
    NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build(),
    callback
)

Java

ConnectivityManager.NetworkCallback callback = new ConnectivityManager.NetworkCallback() {
    public void onAvailable(Network network) {
        super.onAvailable(network);
        // The Wi-Fi network has been acquired. Bind it to use this network by default.
        connectivityManager.bindProcessToNetwork(network);
    }

    public void onLost(Network network) {
        super.onLost(network);
        // Called when a network disconnects or otherwise no longer satisfies this request or callback.
    }
};
connectivityManager.requestNetwork(
        new NetworkRequest.Builder().addTransportType(NetworkCapabilities.TRANSPORT_WIFI).build(),
        callback
);

हो सकता है कि नेटवर्क तुरंत तुरंत न मिल जाए, क्योंकि हो सकता है कि किसी घड़ी का वाई-फ़ाई या बैटरी बचाने के लिए, हो सकता है कि सेल्युलर रेडियो बंद हो. अगर स्मार्टवॉच किसी नेटवर्क, आपके NetworkCallback इंस्टेंस के लिए onAvailable() तरीका सही नहीं है कॉल किया गया.

onAvailable() कॉल करने पर, डिवाइस NetworkCallback रिलीज़ होने तक वाई-फ़ाई नेटवर्क. बैटरी लाइफ़ बनाए रखने के लिए, कॉलबैक को रिलीज़ करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है. ऐसा तब करें, जब आपको इसकी ज़रूरत न हो वाई-फ़ाई नेटवर्क.

Kotlin

connectivityManager.bindProcessToNetwork(null)
connectivityManager.unregisterNetworkCallback(callback)

Java

connectivityManager.bindProcessToNetwork(null);
connectivityManager.unregisterNetworkCallback(callback);

वाई-फ़ाई सेटिंग गतिविधि लॉन्च करें

वाई-फ़ाई नेटवर्क का अनुरोध करने पर, सिस्टम सेव किए गए नेटवर्क से कनेक्ट करने की कोशिश करता है अगर कोई कॉन्फ़िगर किया गया हो और रेंज में हो. अगर सेव किया गया कोई भी वाई-फ़ाई नेटवर्क मौजूद नहीं है, तो आपके NetworkCallback इंस्टेंस के लिए, onAvailable कॉलबैक तरीका काम नहीं कर रहा है.

अगर नेटवर्क का अनुरोध करने के लिए, Handler का इस्तेमाल किया जा रहा है, तो उपयोगकर्ता को टाइम आउट होने पर वाई-फ़ाई नेटवर्क जोड़ने का निर्देश देना होगा. उपयोगकर्ता को सीधे इस ईमेल पते पर भेजें निम्न इंटेंट का उपयोग करके वाई-फ़ाई नेटवर्क जोड़ने की गतिविधि:

Kotlin

context.startActivity(Intent("com.google.android.clockwork.settings.connectivity.wifi.ADD_NETWORK_SETTINGS"))

Java

context.startActivity(new Intent("com.google.android.clockwork.settings.connectivity.wifi.ADD_NETWORK_SETTINGS"));

सेटिंग की गतिविधि को लॉन्च करने के लिए, आपके ऐप्लिकेशन में CHANGE_WIFI_STATE होना ज़रूरी है अनुमति.

यूज़र इंटरफ़ेस से जुड़ी ज़रूरी बातें

अगर आपके ऐप्लिकेशन को हाई बैंडविथ के लिए, किसी नए वाई-फ़ाई नेटवर्क से कनेक्ट करने की ज़रूरत है कार्रवाई करने से पहले, पक्का करें कि कनेक्ट करने की वजह, आपको वाई-फ़ाई सेटिंग लॉन्च करनी होगी. उपयोगकर्ता से सिर्फ़ नया वाई-फ़ाई जोड़ने का अनुरोध करें ऐसा नेटवर्क जिसमें हाई बैंडविथ नेटवर्क की ज़रूरत हो. उपयोगकर्ता को इससे ब्लॉक न करें ऐप्लिकेशन की ऐसी सुविधाएं ऐक्सेस करना जिन्हें हाई बैंडविथ नेटवर्क की ज़रूरत नहीं होती.

पहली इमेज में संगीत से जुड़ा ऐप्लिकेशन दिखाया गया है. यह ऐप्लिकेशन उपयोगकर्ता को YouTube Music पर संगीत ब्राउज़ करने की सुविधा देता है कम बैंडविड्थ वाला नेटवर्क और उपयोगकर्ता को सिर्फ़ नया वाई-फ़ाई नेटवर्क जोड़ने की ज़रूरत होती है, अगर जिन्हें वे डाउनलोड या स्ट्रीम करना चाहते हैं.

संगीत डाउनलोड हो रहा है

पहला डायग्राम. संगीत डाउनलोड करने के लिए संगीत ऐप्लिकेशन फ़्लो.

पावर और डेटा के इस्तेमाल से जुड़ी ज़रूरी बातें

बैटरी लाइफ़ बनाए रखने और मोबाइल डेटा के इस्तेमाल को कम करने के लिए, किसी भी डेटा को रोकें ग़ैर-ज़रूरी नेटवर्किंग टास्क, जैसे कि ऐनलिटिक्स रिपोर्टिंग या लॉग कलेक्शन, जब तक कि Wear OS डिवाइस पर ब्लूटूथ या वाई-फ़ाई कनेक्शन फिर से चालू न हो जाए एक LTE या सीमित डेटा वाले कनेक्शन के बजाय

क्लाउड से मैसेज

सूचनाएं भेजने के लिए, सीधे Firebase क्लाउड से मैसेज (FCM) का इस्तेमाल करें.

नेटवर्क ऐक्सेस या FCM के लिए कोई भी एपीआई, Wear OS के लिए खास तौर पर नहीं बनाया गया है. मौजूदा रिपोर्ट देखें नेटवर्क से कनेक्ट करने और क्लाउड मैसेज के बारे में जानकारी देने वाले दस्तावेज़.

FCM, Doze के साथ अच्छे से काम करता है. यह सूचनाएं भेजने का सुझाया गया तरीका है वीडियो में बदल दिया गया है.

किसी डिवाइस के लिए रजिस्ट्रेशन टोकन इकट्ठा करके, FCM से मैसेज देना जब आपका Wear OS ऐप्लिकेशन चलता है. इसके बाद, डेस्टिनेशन के हिस्से के तौर पर टोकन शामिल करें जब आपका सर्वर FCM REST एंडपॉइंट पर मैसेज भेजता है. FCM इसे संदेश भेजता है टोकन से पहचाना गया डिवाइस.

FCM मैसेज, JavaScript ऑब्जेक्ट नोटेशन (JSON) फ़ॉर्मैट में होता है और इसमें इनमें से एक या दोनों पेलोड:

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

पेलोड के बारे में ज़्यादा जानकारी और उदाहरणों के लिए, FCM मैसेज के बारे में जानकारी देखें.

डिफ़ॉल्ट रूप से, सूचनाओं को फ़ोन ऐप्लिकेशन से स्मार्टवॉच पर ले जाया जाता है. अगर आपके पास अलग से Wear OS ऐप्लिकेशन और फ़ोन के लिए बना एक ऐप्लिकेशन, डुप्लीकेट सूचनाएं ऐसा हो सकता है. उदाहरण के लिए, FCM से एक सूचना, दोनों फ़ोन और स्मार्टवॉच को, दोनों डिवाइसों में अलग-अलग दिखाया जा सकता है. आप इसे रोकने के लिए, ब्रिजिंग एपीआई का इस्तेमाल करें.

बैकग्राउंड में चलने वाली सेवाओं का इस्तेमाल करना

बैकग्राउंड वाले टास्क सही तरीके से लागू हों, यह पक्का करने के लिए इन टास्क को ध्यान में रखना ज़रूरी है डोज़ और ऐप्लिकेशन स्टैंडबाय के लिए.

जब कोई स्क्रीन लंबे समय तक बंद रहती है या ऐंबियंट मोड में जाती है, तो एक सबसेट की बैटरी हो सकती है और बैकग्राउंड में होने वाले टास्क कुछ समय के लिए टाले जा सकते हैं. बाद में, जब उपकरण लंबे समय तक स्थिर रहता है, तो नियमित बैटरी लें. WorkManager एपीआई का इस्तेमाल करके अनुरोध शेड्यूल करें. इससे आपका ऐप्लिकेशन रजिस्टर किया जा सकेगा बैटरी बचाने वाले कोड को एक्ज़ीक्यूट करने के लिए किया जा सकता है.

पाबंदियों के साथ शेड्यूल करें

अनुरोधों को कॉन्फ़िगर करने के लिए, कंस्ट्रेंट का इस्तेमाल किया जा सकता है. ऐसा करने से बैटरी की बचत होती है ज़िंदगी. अपने अनुरोध:

  • ऐसा अनुरोध शेड्यूल करें जिसके लिए नेटवर्किंग की ज़रूरत हो.

    तय करें कि NetworkType, CONNECTED है या UNMETERED. UNMETERED बड़े डेटा ट्रांसफ़र के लिए है, जबकि CONNECTED छोटे डेटा के लिए है ट्रांसफ़र.

  • चार्ज करते समय अनुरोध शेड्यूल करें.

  • डिवाइस का कुछ समय तक इस्तेमाल न किए जाने पर, अनुरोध शेड्यूल करें. यह इनके लिए काम का है कम प्राथमिकता वाला बैकग्राउंड काम या सिंक करना, खास तौर पर तब डिवाइस चार्ज हो रहा है.

ज़्यादा जानकारी के लिए, WorkManager के समय-समय पर किए जाने वाले काम के बारे में बताने वाली गाइड देखें.