आप उपलब्ध कराई गई वाई-फ़ाई जगह की जानकारी की सुविधा का इस्तेमाल कर सकते हैं वाई-फ़ाई आरटीटी (दोतरफ़ा यात्रा का समय) एपीआई आस-पास के आरटीटी की सुविधा वाले वाई-फ़ाई ऐक्सेस पॉइंट और मिलते-जुलते ऐप्लिकेशन की दूरी मापने के लिए वाई-फ़ाई अवेयर डिवाइस.
अगर तीन या उससे ज़्यादा ऐक्सेस पॉइंट की दूरी मापी जाती है, तो मल्टीलेटेशन एल्गोरिदम की मदद से, उन डिवाइस की पोज़िशन का पता लगाया जा सकता है जो उनके लिए सबसे सही हैं माप. आम तौर पर, नतीजा एक से दो मीटर के अंदर सटीक हो जाता है.
इस सटीक जानकारी के साथ, आप सटीक स्थान-आधारित सेवाएं विकसित कर सकते हैं, जैसे के रूप में, साफ़ तौर पर आवाज़ से कंट्रोल करने की सुविधा का इस्तेमाल करें (उदाहरण के लिए, "इसे चालू करें" हालांकि, लाइट” और जगह के आधार पर जानकारी (उदाहरण के लिए, "क्या कोई खास ऑफ़र उपलब्ध है" ?")
डेटा मेज़र करने के लिए, अनुरोध करने वाले डिवाइस को ऐक्सेस पॉइंट से कनेक्ट करने की ज़रूरत नहीं है वाई-फ़ाई आरटीटी की मदद से तय की गई दूरी. निजता बनाए रखने के लिए, सिर्फ़ अनुरोध करने वाला डिवाइस ही ऐक्सेस पॉइंट की दूरी तय करने के लिए; ऐक्सेस पॉइंट के पास ऐसा नहीं है यह जानकारी. फ़ोरग्राउंड ऐप्लिकेशन के लिए, वाई-फ़ाई से रीयल-टाइम में मैसेज भेजने की सुविधा (आरटीटी) अनलिमिटेड है, लेकिन बैकग्राउंड में चलने वाले ऐप्लिकेशन के लिए थ्रॉटल किया जाता है.
वाई-फ़ाई आरटीटी और फ़ाइन-टाइम-मेज़रमेंट (एफ़टीएम) से जुड़ी सुविधाएं आईईईई 802.11-2016 मानक के मुताबिक तय किए गए हैं. वाई-फ़ाई आरटीटी के लिए, सटीक समय ज़रूरी है FTM से मिली माप, क्योंकि यह दो के बीच की दूरी की गणना करती है इसके बीच, डिवाइसों के बीच आने-जाने में पैकेट के लिए लगने वाले समय को मापता है और उस समय को प्रकाश की गति से गुणा कर रहा है.
Android 15 (एपीआई लेवल 35) के लिए, IEEE 802.11az नॉन-ट्रिगर के साथ काम करने की सुविधा शुरू की गई (NTB) रेंज.
Android वर्शन के आधार पर लागू करने में अंतर
वाई-फ़ाई आरटीटी को Android 9 (एपीआई लेवल 28) में पेश किया गया था. इस प्रोटोकॉल का इस्तेमाल करते समय चल रहे डिवाइसों के साथ, मल्टीलेटेशन का इस्तेमाल करके किसी डिवाइस की पोज़िशन पता करने के लिए Android 9 के लिए, आपके पास पहले से तय किए गए ऐक्सेस पॉइंट (एपी) की जगह की जानकारी का ऐक्सेस होना चाहिए डेटा शामिल है. इस डेटा को सेव और वापस पाने का तरीका आपको तय करना है.
Android 10 (एपीआई लेवल 29) और उसके बाद के वर्शन वाले डिवाइसों पर, एपी लोकेशन डेटा
इस रूप में दिखाया जाता है
ResponderLocation
ऑब्जेक्ट, जिनमें अक्षांश, देशांतर, और ऊंचाई शामिल हैं. उन वाई-फ़ाई आरटीटी एपी के लिए जो
सहायता स्थान कॉन्फ़िगरेशन जानकारी/स्थान नागरिक रिपोर्ट (LCI/LCR डेटा),
प्रोटोकॉल इस अवधि के दौरान एक ResponderLocation
ऑब्जेक्ट दिखाएगा
रेंज की प्रोसेस.
इस सुविधा की मदद से, ऐप्लिकेशन सीधे तौर पर APs से उनकी पोज़िशन के बारे में क्वेरी कर सकते हैं करने की ज़रूरत नहीं होगी. इस तरह, आपका ऐप्लिकेशन ये काम कर पाएगा APs को ढूंढने और उनकी पोज़िशन जानने का तरीका. भले ही, AP को पहले न पता हो. जैसे, जब कोई उपयोगकर्ता किसी नई इमारत में घुसता है.
Android 15 वर्शन वाले डिवाइसों पर, आईईईई 802.11az एनटीबी रेंज सपोर्ट की सुविधा उपलब्ध है
(एपीआई लेवल 35) और उसके बाद वाले वर्शन. इसका मतलब है कि अगर डिवाइस, IEEE 802.11az पर काम करता है
एनटीबी रिस्पॉन्डर मोड (इन्हें यह दिखाया जाता है)
WifiRttManager.CHARACTERISTICS_KEY_BOOLEAN_STA_RESPONDER
),
आपका ऐप्लिकेशन, आईईईई 802.11mc और IEEE 802.11az की सुविधा वाले एपी, दोनों को एक साथ ढूंढ सकता है
रेंज अनुरोध. जानकारी देने के लिए, RangingResult
API का इस्तेमाल किया गया है
कम से कम और ज़्यादा से ज़्यादा वैल्यू, जिसका इस्तेमाल दो चरणों के बीच के इंटरवल के लिए किया जा सकता है
रेंज में, सटीक इंटरवल को शामिल करें. इससे आपके ऐप्लिकेशन को कंट्रोल करने में आसानी होती है.
ज़रूरी शर्तें
- रेंज का अनुरोध करने वाले डिवाइस के हार्डवेयर को, 802.11-2016 FTM स्टैंडर्ड या 802.11az स्टैंडर्ड (नॉन-ट्रिगर आधार पर).
- रेंज का अनुरोध करने वाला डिवाइस, Android 9 (एपीआई लेवल) पर चल रहा होना चाहिए 28) या उससे बाद का वर्शन है. डिवाइसों पर, आईईईई 802.11zz नॉन-ट्रिगर आधारित रेंज चालू है जो Android 15 (एपीआई लेवल 35) और उसके बाद के वर्शन पर काम करते हों.
- रेंज का अनुरोध करने वाले डिवाइस में, जगह की जानकारी की सुविधा चालू होनी चाहिए और वाई-फ़ाई स्कैनिंग चालू हो जाए (सेटिंग > जगह की जानकारी के तहत).
- अगर रेंज अनुरोध को टारगेट कर रहा ऐप्लिकेशन
Android 13 (एपीआई लेवल 33) या उसके बाद वाला वर्शन, इसमें
NEARBY_WIFI_DEVICES
अनुमति. अगर ऐसा कोई ऐप्लिकेशन Android के पुराने वर्शन को टारगेट करता है, तो उसे उसके पासACCESS_FINE_LOCATION
तो अनुमति नहीं है. - अगर ऐप्लिकेशन दिख रहा है या वह यहां है, तो ऐप्लिकेशन को ऐक्सेस पॉइंट की रेंज के बारे में क्वेरी करनी होगी फ़ोरग्राउंड सेवा का इस्तेमाल किया जाता है. ऐप्लिकेशन बैकग्राउंड.
- ऐक्सेस पॉइंट को आईईईई 802.11-2016 एफ़टीएम स्टैंडर्ड या आईईईई लागू करना चाहिए 802.11az स्टैंडर्ड (नॉन-ट्रिगर आधारित रेंज).
सेटअप
अपने ऐप्लिकेशन को वाई-फ़ाई आरटीटी की सुविधा के लिए सेट अप करने के लिए, यहां दिया गया तरीका अपनाएं.
1. अनुमतियां मांगें
अपने ऐप्लिकेशन के मेनिफ़ेस्ट में इन अनुमतियों का अनुरोध करें:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- If your app targets Android 13 (API level 33)
or higher, you must declare the NEARBY_WIFI_DEVICES permission. -->
<uses-permission android:name="android.permission.NEARBY_WIFI_DEVICES"
<!-- If your app derives location information from Wi-Fi APIs,
don't include the "usesPermissionFlags" attribute. -->
android:usesPermissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"
<!-- If any feature in your app relies on precise location
information, don't include the "maxSdkVersion"
attribute. -->
android:maxSdkVersion="32" />
NEARBY_WIFI_DEVICES
और ACCESS_FINE_LOCATION
की अनुमतियां खतरनाक हैं
अनुमतियां दी हैं, ताकि जब भी उपयोगकर्ता चाहे, आपको रनटाइम पर उसके लिए अनुरोध करना पड़े
आरटीटी स्कैन करें. आपके ऐप्लिकेशन को उपयोगकर्ता की जानकारी का अनुरोध करना होगा
की अनुमति नहीं दी गई है. Reader Revenue Manager को सेट अप करने के बारे में
रनटाइम अनुमतियों के बारे में जानने के लिए,
ऐप्लिकेशन अनुमतियों का अनुरोध करें.
2. देखें कि डिवाइस पर वाई-फ़ाई आरटीटी की सुविधा काम करती है या नहीं
डिवाइस में वाई-फ़ाई आरटीटी की सुविधा है या नहीं, यह देखने के लिए
PackageManager
एपीआई:
Kotlin
context.packageManager.hasSystemFeature(PackageManager.FEATURE_WIFI_RTT)
Java
context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WIFI_RTT);
3. देखें कि वाई-फ़ाई आरटीटी उपलब्ध है या नहीं
डिवाइस पर वाई-फ़ाई आरटीटी मौजूद हो सकता है, लेकिन हो सकता है कि यह उपलब्ध न हो, क्योंकि उपयोगकर्ता ने
ने वाई-फ़ाई बंद कर दिया है. उनके हार्डवेयर और फ़र्मवेयर की क्षमताओं के आधार पर, कुछ
अगर सॉफ़्टएपी या टेदरिंग का इस्तेमाल किया जा रहा है, तो हो सकता है कि इन डिवाइसों पर वाई-फ़ाई आरटीटी की सुविधा काम न करे. जांच करने के लिए
अगर वाई-फ़ाई आरटीटी उपलब्ध है, तो कॉल करें
isAvailable()
.
वाई-फ़ाई आरटीटी की सुविधा, किसी भी समय बदल सकती है. आपके ऐप्लिकेशन को
BroadcastReceiver
रिसीव करने के लिए
ACTION_WIFI_RTT_STATE_CHANGED
इसे तब भेजा जाता है, जब खरीदारी के लिए उपलब्धता में बदलाव होता है. आपके ऐप्लिकेशन को ब्रॉडकास्ट मिलने पर
इंटेंट के हिसाब से, ऐप्लिकेशन को उपलब्धता की मौजूदा स्थिति की जांच करनी चाहिए और
के हिसाब से व्यवहार करता है.
उदाहरण के लिए:
Kotlin
val filter = IntentFilter(WifiRttManager.ACTION_WIFI_RTT_STATE_CHANGED) val myReceiver = object: BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { if (wifiRttManager.isAvailable) { … } else { … } } } context.registerReceiver(myReceiver, filter)
Java
IntentFilter filter = new IntentFilter(WifiRttManager.ACTION_WIFI_RTT_STATE_CHANGED); BroadcastReceiver myReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (wifiRttManager.isAvailable()) { … } else { … } } }; context.registerReceiver(myReceiver, filter);
ज़्यादा जानकारी के लिए, ब्रॉडकास्ट पढ़ें.
रेंज के लिए अनुरोध करें
रेंज से जुड़ा अनुरोध
(RangingRequest
) बना दिया गया है
AP या वाई-फ़ाई अवेयर पीयर की सूची बनाकर
का अनुरोध किया गया है. एक से ज़्यादा ऐक्सेस पॉइंट या वाई-फ़ाई अवेयर पीयर की जानकारी
रेंज में आने वाला अनुरोध; सभी डिवाइसों की दूरियों को मापा जाता है और वापस कर दिया जाता है.
उदाहरण के लिए, कोई अनुरोध
addAccessPoint()
:
Kotlin
val req: RangingRequest = RangingRequest.Builder().run { addAccessPoint(ap1ScanResult) addAccessPoint(ap2ScanResult) build() }
Java
RangingRequest.Builder builder = new RangingRequest.Builder(); builder.addAccessPoint(ap1ScanResult); builder.addAccessPoint(ap2ScanResult); RangingRequest req = builder.build();
पहुंच बिंदु की पहचान इसके
ScanResult
ऑब्जेक्ट, जो यह हो सकता है
कॉल करने पर मिला
WifiManager.getScanResults()
.
इस्तेमाल करने के लिए
addAccessPoints(List<ScanResult>)
का इस्तेमाल करें.
ScanResult
ऑब्जेक्ट में IEEE 802.11mc (is80211mcResponder()
) और, दोनों हो सकते हैं
आईईईई 802.11az नॉन-ट्रिगर (is80211azNtbResponder()
) की रेंज में उपलब्ध
एपी. आईईईई 802.11ाज़ एनटीबी के हिसाब से काम करने वाले डिवाइस, 802.11mc या
AP की क्षमता के हिसाब से 802.11az
AP दोनों का इस्तेमाल करता है. जो डिवाइस IEEE 802.11az के साथ काम नहीं करते हैं, वे सभी काम करते हैं
आईईईई 802.11mc प्रोटोकॉल का इस्तेमाल करके.
इसी तरह, रेंज में किसी डिवाइस के MAC का इस्तेमाल करके, वाई-फ़ाई अवेयर पीयर को जोड़ा जा सकता है
या इसके PeerHandle
पर टैप करें.
यह
addWifiAwarePeer(MacAddress peer)
और addWifiAwarePeer(PeerHandle peer)
विधियों का भी इस्तेमाल किया जा सकता है. वाई-फ़ाई अवेयर पीयर खोजने के बारे में ज़्यादा जानकारी के लिए,
वाई-फ़ाई अवेयर दस्तावेज़ देखें.
अनुरोध की रेंज
कोई ऐप्लिकेशन,
WifiRttManager.startRanging()
और नीचे दी गई चीज़ें मुहैया कराना न भूलें:
RangingRequest
कार्रवाई, इसे बताने के लिए Executor
कॉलबैक कॉन्टेक्स्ट, और
RangingResultCallback
खोजें.
उदाहरण के लिए:
Kotlin
val mgr = context.getSystemService(Context.WIFI_RTT_RANGING_SERVICE) as WifiRttManager val request: RangingRequest = myRequest mgr.startRanging(request, executor, object : RangingResultCallback() { override fun onRangingResults(results: List<RangingResult>) { … } override fun onRangingFailure(code: Int) { … } })
Java
WifiRttManager mgr = (WifiRttManager) Context.getSystemService(Context.WIFI_RTT_RANGING_SERVICE); RangingRequest request ...; mgr.startRanging(request, executor, new RangingResultCallback() { @Override public void onRangingFailure(int code) { … } @Override public void onRangingResults(List<RangingResult> results) { … } });
रेंजिंग ऑपरेशन एसिंक्रोनस तरीके से किए जाते हैं और रेंज के नतीजे
इसके कॉलबैक में से किसी एक में लौटाया जाता है
RangingResultCallback
:
- अगर पूरी रेंज ऑपरेशन सफल नहीं होता,
onRangingFailure
कॉलबैक यहां बताए गए स्टेटस कोड के साथ ट्रिगर होता हैRangingResultCallback
. ऐसी गड़बड़ी तब हो सकती है, जब सेवा रेंज से जुड़ी कार्रवाई नहीं कर पाती समय पर--उदाहरण के लिए, क्योंकि वाई-फ़ाई अक्षम है, इसलिए ऐप्लिकेशन ने बहुत ज़्यादा रेंज ऑपरेशन का अनुरोध किया है और उसे थ्रॉटल कर दिया गया है या किसी वजह से अनुमति से जुड़ी समस्या है. - रेंजिंग ऑपरेशन पूरा होने के बाद,
onRangingResults
कॉलबैक को उन नतीजों की सूची के साथ ट्रिगर किया जाता है जो अनुरोध—हर अनुरोध के लिए एक नतीजा. नतीजों का क्रम ऐसा नहीं होता अनुरोधों के क्रम से मेल खाना चाहिए. ध्यान दें कि रेंज पूरा नहीं किया है, लेकिन फिर भी हर नतीजे से पता चलता है कि वह गड़बड़ी है और उन्हें मापा जा सकता है.
रेंज के नतीजों की व्याख्या करना
हर नतीजे को
onRangingResults
कॉलबैक को RangingResult
से तय किया जाता है
ऑब्जेक्ट है. हर अनुरोध पर, ये काम करें.
1. अनुरोध की पहचान करें
हमने
RangingRequest
:
आम तौर पर, ScanResult
में दिया गया MAC पता होता है, जो ऐक्सेस की पहचान करता है
अंक. MAC पते को
getMacAddress()
तरीका.
रेंज में उपलब्ध नतीजों की सूची, मिलते-जुलते ऐप्लिकेशन की तुलना में अलग-अलग हो सकती है (ऐक्सेस पॉइंट) सीमा में बताए गए हैं, इसलिए आपको MAC पते का इस्तेमाल करके मिलते-जुलते ऐप्लिकेशन की पहचान करें, न कि नतीजों के क्रम की.
2. यह पता लगाना कि हर एक मेज़रमेंट सही तरीके से हुआ या नहीं
यह पता लगाने के लिए कि मेज़रमेंट सही से हुआ है या नहीं, इसका इस्तेमाल करें
getStatus()
तरीका. इसके अलावा कोई भी अन्य मान
STATUS_SUCCESS
गड़बड़ी दिखाता है. गड़बड़ी का मतलब है कि इस नतीजे के अन्य सभी फ़ील्ड
(ऊपर दिए गए अनुरोध पहचान को छोड़कर) अमान्य हैं और
get*
तरीका इस वाक्य से काम नहीं करेगा:
IllegalStateException
अपवाद.
3. हर सही मेज़रमेंट के लिए नतीजे पाना
हर एक पूरे होने वाले मेज़रमेंट (RangingResult
) के लिए, नतीजा फिर से पाया जा सकता है
get
से जुड़े तरीकों का इस्तेमाल करके वैल्यू:
दूरी, मि॰मी॰ में, और माप का मानक विचलन:
माप के लिए इस्तेमाल किए गए पैकेट का आरएसएसआई:
मिलीसेकंड में वह समय जब माप लिया गया था (समय को दिखाता है बूट के बाद से):
आज़माए गए मापों की संख्या और मापों की संख्या जो सफल रही (और जिस पर दूरी की माप आधारित हैं):
क्लाइंट के डिवाइस को कम से कम और ज़्यादा से ज़्यादा समय के लिए 11Z NTB के बीच इंतज़ार करना होगा माप:
getMinTimeBetweenNtbMeasurementsMicros()
औरgetMaxTimeBetweenNtbMeasurementsMicros()
कम से कम और ज़्यादा से ज़्यादा समय दिखाएं. अगर अगले रेंज में कम से कम समय बीतने से पहले अनुरोध किया जाता है, तो एपीआई कैश मेमोरी में सेव की गई रेंज का नतीजा. अगर अगले रेंज मेज़रमेंट का अनुरोध बाद में किया जाता है, तो ज़्यादा से ज़्यादा समय बीत जाने के बाद एपीआई, नॉन-ट्रिगर को बंद कर देता है सेशन शुरू कर सकते हैं और जवाब देने वाले लोगों के साथ नए सेशन पर बातचीत कर सकते हैं स्टेशन. आपको नए रेंज सेशन का अनुरोध करने से बचना चाहिए, क्योंकि इसमें रेंज, मापने के समय तक. 802.11 Az का पूरा फ़ायदा लेने के लिए परफ़ॉर्मेंस के आधार पर नॉन-ट्रिगर, रेंज के अगले अनुरोध को ट्रिगर करें मापे जाने के कम से कम और ज़्यादा से ज़्यादा समय के बीच का अंतर होना चाहिएRangingResult
मेज़रमेंट.लॉन्ग ट्रेनिंग फ़ील्ड (एलटीएफ़) में जवाब देने वाले और शुरू करने वाले स्टेशन को दोहराना का इस्तेमाल, IEEE 802.11az NTB के नतीजे के लिए प्रीएंबल में किया गया है:
स्पेशल टाइम स्ट्रीम (एसटीएस) को ट्रांसमिट और पाने की संख्या IEEE 802.11az NTB परिणाम के लिए उपयोग किया गया स्टेशन:
वाई-फ़ाई आरटीटी की सुविधा वाले Android डिवाइस
नीचे दी गई टेबल में कुछ फ़ोन, ऐक्सेस पॉइंट, और रीटेल, वेयरहाउसिंग, और डिस्ट्रिब्यूशन सेंटर के डिवाइस दिए गए हैं जो वाई-फ़ाई-आरटीटी के साथ काम करते हैं. इनमें पूरी जानकारी शामिल नहीं है. हमारा सुझाव है कि आप हमसे संपर्क करें ताकि आरटीटी की सुविधा वाले अपने प्रॉडक्ट यहां लिस्ट किए जा सकें.
ऐक्सेस पॉइंट
निर्माता और मॉडल | सहायता की तारीख |
---|---|
Nest Wifi Pro (वाई-फ़ाई 6E) | इनकी अनुमति है |
कंपलाब वाइल्ड एपी | इनकी अनुमति है |
Google वाई-फ़ाई | इनकी अनुमति है |
Google Nest का वाई-फ़ाई राऊटर | इनकी अनुमति है |
Google Nest वाई-फ़ाई पॉइंट | इनकी अनुमति है |
अरूबा AP-635 | इनकी अनुमति है |
सिस्को 9130 | इनकी अनुमति है |
सिस्को 9136 | इनकी अनुमति है |
सिस्को 9166 | इनकी अनुमति है |
सिस्को 9164 | इनकी अनुमति है |
अरूबा AP-505 | इनकी अनुमति है |
अरूबा एपी-515 | इनकी अनुमति है |
अरूबा AP-575 | इनकी अनुमति है |
अरूबा एपी-518 | इनकी अनुमति है |
अरूबा एपी-505एच | इनकी अनुमति है |
अरूबा AP-565 | इनकी अनुमति है |
अरूबा एपी-535 | इनकी अनुमति है |
फ़ोन
निर्माता और मॉडल | Android वर्शन |
---|---|
Pixel 6 | 9 से ज़्यादा |
Pixel 6 Pro | 9 से ज़्यादा |
Pixel 5 | 9 से ज़्यादा |
Pixel 5a | 9 से ज़्यादा |
Pixel 5a (5G) | 9 से ज़्यादा |
Xiaomi Mi 10 Pro | 9 से ज़्यादा |
Xiaomi Mi 10 | 9 से ज़्यादा |
Xiaomi Redmi Mi 9T Pro | 9 से ज़्यादा |
Xiaomi Mi 9T | 9 से ज़्यादा |
Xiaomi Mi 9 | 9 से ज़्यादा |
Xiaomi Mi Note 10 | 9 से ज़्यादा |
Xiaomi Mi Note 10 Lite | 9 से ज़्यादा |
Xiaomi Redmi Note 9S | 9 से ज़्यादा |
Xiaomi Redmi Note 9 Pro | 9 से ज़्यादा |
Xiaomi Redmi Note 8T | 9 से ज़्यादा |
Xiaomi Redmi Note 8 | 9 से ज़्यादा |
Xiaomi Redmi K30 Pro | 9 से ज़्यादा |
Xiaomi Redmi K20 Pro | 9 से ज़्यादा |
Xiaomi Redmi के20 | 9 से ज़्यादा |
Xiaomi Redmi Note 5 Pro | 9 से ज़्यादा |
Xiaomi Mi CC9 Pro | 9 से ज़्यादा |
LG G8X ThinQ | 9 से ज़्यादा |
LG V50S थिनक्यू | 9 से ज़्यादा |
LG V60 थिनक्यू | 9 से ज़्यादा |
LG V30 | 9 से ज़्यादा |
Samsung Galaxy Note 10+ 5G | 9 से ज़्यादा |
Samsung Galaxy S20 और 5G | 9 से ज़्यादा |
Samsung Galaxy S20 और इसके बाद के वर्शन | 9 से ज़्यादा |
Samsung Galaxy S20 5G | 9 से ज़्यादा |
Samsung Galaxy S20 Ultra 5G | 9 से ज़्यादा |
Samsung Galaxy S20 | 9 से ज़्यादा |
Samsung Galaxy Note 10 और उसके बाद के वर्शन | 9 से ज़्यादा |
Samsung Galaxy Note 10 5G | 9 से ज़्यादा |
Samsung Galaxy Note 10 | 9 से ज़्यादा |
Samsung A9 Pro | 9 से ज़्यादा |
Google Pixel 4 XL | 9 से ज़्यादा |
Google Pixel 4 | 9 से ज़्यादा |
Google Pixel 4a | 9 से ज़्यादा |
Google Pixel 3 XL | 9 से ज़्यादा |
Google Pixel 3 | 9 से ज़्यादा |
Google Pixel 3a XL | 9 से ज़्यादा |
Google Pixel 3a | 9 से ज़्यादा |
Google Pixel 2 XL | 9 से ज़्यादा |
Google Pixel 2 | 9 से ज़्यादा |
Google Pixel 1 XL | 9 से ज़्यादा |
Google Pixel 1 | 9 से ज़्यादा |
पोको एक्स2 | 9 से ज़्यादा |
शार्प ऐक्वोस R3 SH-04L | 9 से ज़्यादा |
रीटेल, वेयरहाउसिंग और डिस्ट्रिब्यूशन सेंटर से जुड़े डिवाइस
निर्माता और मॉडल | Android वर्शन |
---|---|
ज़ीब्रा PS20 | 10.0 से ज़्यादा |
ज़ेब्रा TC52/TC52HC | 10.0 से ज़्यादा |
ज़ीब्रा टीसी57 | 10.0 से ज़्यादा |
ज़ीब्रा टीसी72 | 10.0 से ज़्यादा |
ज़ीब्रा टीसी77 | 10.0 से ज़्यादा |
ज़ेब्रा MC93 | 10.0 से ज़्यादा |
ज़ीब्रा TC8300 | 10.0 से ज़्यादा |
zebra VC8300 | 10.0 से ज़्यादा |
ज़ीब्रा EC30 | 10.0 से ज़्यादा |
ज़ीब्रा ET51 | 10.0 से ज़्यादा |
ज़ीब्रा ET56 | 10.0 से ज़्यादा |
ज़ीब्रा एल10 | 10.0 से ज़्यादा |
ज़ेब्रा CC600/CC6000 | 10.0 से ज़्यादा |
ज़ेब्रा MC3300x | 10.0 से ज़्यादा |
ज़ेब्रा MC330x | 10.0 से ज़्यादा |
ज़ीब्रा TC52x | 10.0 से ज़्यादा |
ज़ीब्रा TC57x | 10.0 से ज़्यादा |
zebra EC50 (LAN और HC) | 10.0 से ज़्यादा |
zebra EC55 (WAN) | 10.0 से ज़्यादा |
ज़ीब्रा WT6300 | 10.0 से ज़्यादा |
स्कोर्पियो X5 | 10.0 से ज़्यादा |