आधुनिक स्मार्टफोन सिर्फ एक कंप्यूटिंग डिवाइस नहीं है, बल्कि शक्तिशाली सेंसरों का एक सेट है। कैमरा, एक्सेलेरोमीटर, जायरोस्कोप, NFC, फेस स्कैनर — ये सभी प्लेटफॉर्म APIs के माध्यम से डेवलपर्स के लिए उपलब्ध हैं। हार्डवेयर सुविधाएँ आपको ऐसे एप्लिकेशन बनाने की अनुमति देती हैं जो भौतिक दुनिया के साथ इंटरैक्ट करते हैं: फिटनेस ट्रैकर्स से लेकर संवर्धित वास्तविकता गेम तक। इस लेख में, हम iOS और Android के लिए सभी मुख्य सेंसर और APIs को कवर करेंगे। अधिक जानकारी के लिए, आधिकारिक Android Sensors दस्तावेज़ीकरण देखें।
मुख्य बिंदु
स्मार्टफोन हार्डवेयर सुविधाओं में दर्जनों सेंसर शामिल हैं जो पर्यावरण और डिवाइस की स्थिति के बारे में डेटा एकत्र करते हैं। यह डेटा Sensors API (Android) और Core Motion (iOS) के माध्यम से उपलब्ध है। सेंसर तीन श्रेणियों में विभाजित हैं: गति सेंसर (एक्सेलेरोमीटर, जायरोस्कोप), स्थिति सेंसर (मैग्नेटोमीटर), और पर्यावरण सेंसर (बैरोमीटर, प्रकाश, तापमान)।
एक्सेलेरोमीटर तीन अक्षों (x, y, z) पर m/s² में डिवाइस के त्वरण को मापता है। इसका उपयोग किया जाता है: स्क्रीन ओरिएंटेशन डिटेक्शन (ऑटो-रोटेट), स्टेप काउंटिंग (पैदल नेविगेशन), जेस्चर रिकॉग्निशन (शेक टू अनडू), टिल्ट-नियंत्रित गेम्स के लिए। Android Sensor.TYPE_ACCELEROMETER और Core Motion CMMotionManager (iOS) 200 Hz तक की दर से कच्चा डेटा प्रदान करते हैं।
जायरोस्कोप तीन अक्षों (rad/s) पर डिवाइस के घूर्णन के कोणीय वेग को मापता है। एक्सेलेरोमीटर के विपरीत, जायरोस्कोप गुरुत्वाकर्षण से प्रभावित नहीं होता, जो इसे घूर्णन को ट्रैक करने के लिए आदर्श बनाता है। अनुप्रयोग: वीडियो स्थिरीकरण, VR/AR अनुप्रयोग, इनडोर नेविगेशन, गेम कंट्रोलर। Sensor.TYPE_GYROSCOPE (Android) और CMMotionManager (iOS) मुख्य API हैं।
मैग्नेटोमीटर तीन अक्षों (µT) पर पृथ्वी के चुंबकीय क्षेत्र को मापता है और एक इलेक्ट्रॉनिक कम्पास के रूप में कार्य करता है। इसका उपयोग नेविगेशन अनुप्रयोगों में उत्तर की दिशा निर्धारित करने के लिए किया जाता है। मैग्नेटोमीटर धातु की वस्तुओं और स्पीकर से हस्तक्षेप के प्रति संवेदनशील है; कैलिब्रेशन आवश्यक है (विशेषता आकृति-आठ गति)। Sensor.TYPE_MAGNETIC_FIELD — Android API।
बैरोमीटर वायुमंडलीय दबाव (hPa) मापता है और समुद्र तल से ऊँचाई निर्धारित करने के लिए 1 मीटर तक की सटीकता के साथ उपयोग किया जाता है। प्रॉक्सिमिटी सेंसर कॉल के दौरान फोन को कान के पास ले जाने पर स्क्रीन बंद कर देता है। एम्बिएंट लाइट सेंसर स्क्रीन की चमक को समायोजित करता है। ये सभी सेंसर एकीकृत SensorManager (Android) या CMMotionManager (iOS) के माध्यम से अधिकांश गति सेंसर के लिए सुलभ हैं।
कैमरा सबसे अधिक मांग वाले हार्डवेयर घटकों में से एक है। Android पर, CameraX (आधुनिक Jetpack API) या Camera2 (निम्न-स्तरीय API) के माध्यम से पहुँच होती है। CameraX स्वचालित रूप से जीवनचक्र को संभालता है, Preview, ImageCapture, ImageAnalysis (ML फ्रेम विश्लेषण), और VideoCapture का समर्थन करता है। iOS पर, कैमरा AVFoundation के माध्यम से उपलब्ध है: AVCaptureSession कैप्चर का प्रबंधन करता है, AVCaptureDevice पैरामीटर (फोकस, ISO, व्हाइट बैलेंस) कॉन्फ़िगर करता है।
माइक्रोफोन का उपयोग ऑडियो रिकॉर्डिंग, वॉयस कंट्रोल और स्पीच रिकॉग्निशन के लिए किया जाता है। Android पर — MediaRecorder या AudioRecord; iOS पर — AVAudioRecorder। कैमरा और माइक्रोफोन तक पहुँच के लिए उपयोगकर्ता की अनुमति आवश्यक है: Manifest.permission.CAMERA और RECORD_AUDIO (Android), NSCameraUsageDescription और NSMicrophoneUsageDescription (iOS) — Info.plist में उपयोग के कारण का वर्णन करने वाले स्ट्रिंग।
IT Sectr में, हमने कस्टम कैमरों के साथ 20 से अधिक प्रोजेक्ट लागू किए हैं: QR कोड स्कैनर से लेकर AR फिल्टर वाले एप्लिकेशन तक। मुख्य निष्कर्ष: Android पर, CameraX Camera2 की तुलना में हफ्तों का विकास समय बचाता है, जबकि iOS पर, AVFoundation शूटिंग मापदंडों पर पूर्ण नियंत्रण देता है। CameraX के माध्यम से बुनियादी इमेज कैप्चर का उदाहरण:
class CameraFragment : Fragment() {
private lateinit var imageCapture: ImageCapture
fun startCamera() {
val processCameraProvider =
ProcessCameraProvider.getInstance(requireContext())
processCameraProvider.addListener({
val cameraProvider = processCameraProvider.get()
val preview = Preview.Builder()
.build()
.also {
it.setSurfaceProvider(viewFinder.surfaceProvider)
}
imageCapture = ImageCapture.Builder()
.setCaptureMode(ImageCapture.CAPTURE_MODE_MINIMIZE_LATENCY)
.build()
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
cameraProvider.bindToLifecycle(
this, cameraSelector, preview, imageCapture
)
}, ContextCompat.getMainExecutor(requireContext()))
}
}
बायोमेट्रिक हार्डवेयर सुविधाएँ उपयोगकर्ताओं को फिंगरप्रिंट या चेहरे का उपयोग करके एप्लिकेशन में लॉग इन करने की अनुमति देती हैं। iOS Face ID (TrueDepth कैमरा, 30,000 अदृश्य बिंदु) और Touch ID (कैपेसिटिव फिंगरप्रिंट स्कैनर) का उपयोग करता है। Android BiometricPrompt का उपयोग करता है, जो फिंगरप्रिंट स्कैनर (कैपेसिटिव या अल्ट्रासोनिक) और Face Unlock (कैमरा + ML) को जोड़ता है। Face ID Touch ID से अधिक सुरक्षित है: मिलान की संभावना 1:1,000,000 बनाम 1:50,000।
NFC (नियर फील्ड कम्युनिकेशन) 10 सेमी तक की रेंज वाली वायरलेस संचार तकनीक है। इसका उपयोग किया जाता है: संपर्क रहित भुगतान (Google Pay, Apple Pay), NFC टैग पढ़ना (स्मार्ट पोस्टर, विज़िटिंग कार्ड), सत्यापन (दस्तावेज़, टिकट), डेटा ट्रांसफर (Android Beam — पुराना)। Core NFC (iOS) और NfcAdapter (Android) मुख्य API हैं। iOS पर, NFC केवल पढ़ने के लिए उपलब्ध है (Apple Pay भुगतान को छोड़कर)।
Bluetooth/BLE (ब्लूटूथ लो एनर्जी) — बाहरी उपकरणों को जोड़ने के लिए: हेडफ़ोन, फिटनेस ब्रेसलेट, मेडिकल सेंसर, स्मार्ट लॉक। Core Bluetooth (iOS) और android.bluetooth (Android) — स्कैनिंग, कनेक्ट करने और डेटा आदान-प्रदान के लिए API। BLE ऊर्जा कुशल है: एक डिवाइस बैटरी पर वर्षों तक चल सकता है। iOS पर, बैकग्राउंड BLE संचालन के लिए Background Modes → Uses Bluetooth LE accessories को सक्षम करना आवश्यक है।
स्वास्थ्य हार्डवेयर सुविधाएँ: HealthKit (iOS) — स्वास्थ्य डेटा एकत्रीकरण के लिए Apple का फ्रेमवर्क। उपयोगकर्ता विशिष्ट डेटा प्रकारों को पढ़ने और लिखने की अनुमति देते हैं: कदम, हृदय गति, नींद, कैलोरी, वजन, रक्तचाप। सभी डेटा एक संरक्षित भंडार में संग्रहीत और iCloud के माध्यम से सिंक किया जाता है। HealthKit HKQuantitySample लिखने और HKSampleQuery या HKStatisticsQuery के माध्यम से पढ़ने के लिए एक एकीकृत इंटरफ़ेस प्रदान करता है।
Google Fit — Android पर फिटनेस डेटा के लिए Google का प्लेटफ़ॉर्म। API दो सेटों में विभाजित है: Sensors API (डिवाइस सेंसर से वास्तविक डेटा — कदम, कैलोरी) और History API (ऐतिहासिक डेटा पढ़ना/लिखना)। Google Fit प्राधिकरण के माध्यम से अन्य फिटनेस ऐप्स (Strava, Runkeeper) से डेटा भी एकत्र करता है। iOS पर, Google Fit REST API के माध्यम से उपलब्ध है।
Core Motion (iOS) — समर्पित चिप के बिना गति सेंसर के साथ काम करने के लिए एक फ्रेमवर्क: एक्सेलेरोमीटर, जायरोस्कोप, पेडोमीटर (CMPedometer), अल्टीमीटर (CMAltimeter)। CMPedometer कदम, तय की गई दूरी, गति और चढ़ी गई मंजिलों की गणना करता है। Android पर, समान क्षमताएँ Sensor.TYPE_STEP_COUNTER और Step Detector द्वारा प्रदान की जाती हैं। सभी फिटनेस डेटा के लिए स्पष्ट उपयोगकर्ता सहमति आवश्यक है।
संवर्धित वास्तविकता (AR) और ऑन-डिवाइस मशीन लर्निंग स्मार्टफोन हार्डवेयर क्षमताओं के शिखर का प्रतिनिधित्व करते हैं। ARKit (Apple, iOS 11+) आसपास के स्थान को ट्रैक करने के लिए कैमरा, जायरोस्कोप, एक्सेलेरोमीटर और LiDAR (Pro मॉडल पर) का उपयोग करता है। ARCore (Google) प्लेन ट्रैकिंग, इमेज रिकॉग्निशन और लाइटिंग एस्टीमेशन के साथ Android के लिए समकक्ष है। दोनों फ्रेमवर्क विज़ुअल इनर्टियल ओडोमेट्री (VIO) — कैमरा और इनर्टियल सेंसर का संयोजन — का उपयोग करते हैं।
ML Kit (Google) — Android और iOS पर मशीन लर्निंग के लिए SDK। इसमें रेडी-मेड API शामिल हैं: टेक्स्ट रिकॉग्निशन (OCR), बारकोड स्कैनिंग, फेस रिकॉग्निशन, पोज़ डिटेक्शन, ऑब्जेक्ट ट्रैकिंग, इमेज टेक्स्ट रिकॉग्निशन और नेचुरल लैंग्वेज प्रोसेसिंग। ML Kit पूरी तरह से डिवाइस पर काम करता है — डेटा सर्वर पर नहीं भेजा जाता, जो गोपनीयता और ऑफ़लाइन कार्यक्षमता सुनिश्चित करता है।
Core ML (Apple) — iOS एप्लिकेशन में ML मॉडल को एकीकृत करने के लिए एक फ्रेमवर्क। मॉडल (mlmodel) Core ML Tools के माध्यम से TensorFlow, PyTorch या Keras से कनवर्ट किए जाते हैं। Vision — कंप्यूटर विज़न के लिए फ्रेमवर्क: फेस डिटेक्शन, टेक्स्ट, बारकोड, क्षैतिज संरेखण। Vision और Core ML को संयोजित करना रीयल-टाइम ML पाइपलाइन बनाने की अनुमति देता है: फ्रेम कैप्चर → Vision विश्लेषण → Core ML पूर्वानुमान → UI अपडेट — सभी डिवाइस पर 50 ms से कम विलंबता के साथ।
अक्सर पूछे जाने वाले प्रश्न
एक आधुनिक स्मार्टफोन में एक्सेलेरोमीटर, जायरोस्कोप, मैग्नेटोमीटर (कम्पास), बैरोमीटर, प्रॉक्सिमिटी सेंसर, एम्बिएंट लाइट सेंसर, फिंगरप्रिंट स्कैनर, कैमरा, माइक्रोफोन, NFC, Bluetooth, Wi-Fi, GPS होता है। फ्लैगशिप मॉडल में LiDAR, हृदय गति मॉनिटर और तापमान सेंसर भी होता है।
Face ID TrueDepth कैमरा (30,000 डॉट प्रोजेक्शन) का उपयोग करके चेहरे की बायोमेट्रिक प्रमाणीकरण है। Touch ID कैपेसिटिव स्कैनर के माध्यम से फिंगरप्रिंट प्रमाणीकरण है। Face ID अधिक सुरक्षित है (1 में 1,000,000 बनाम 1 में 50,000) और बिना संपर्क के काम करता है।
आधुनिक दृष्टिकोण CameraX (Jetpack लाइब्रेरी) है। CameraX कैमरे के काम को सरल बनाता है: यह स्वचालित रूप से जीवनचक्र का प्रबंधन करता है, Preview, ImageCapture, ImageAnalysis और VideoCapture का समर्थन करता है। पुराने प्रोजेक्ट्स के लिए, Camera2 API का उपयोग किया जाता है।
NFC आपको अनुमति देता है: NFC टैग पढ़ना और लिखना (स्मार्ट पोस्टर, विज़िटिंग कार्ड), संपर्क रहित भुगतान (Google Pay, Apple Pay), उपकरणों के बीच डेटा स्थानांतरित करना, दस्तावेज़ सत्यापित करना, दरवाजे खोलना, ट्रांज़िट कार्ड का उपयोग करना। iOS पर, NFC केवल पढ़ने के लिए उपलब्ध है (Apple Pay को छोड़कर)।
ARKit iOS पर संवर्धित वास्तविकता के लिए Apple का फ्रेमवर्क है। ARCore Android के लिए Google का समकक्ष है। दोनों प्लेन ट्रैकिंग, इमेज रिकॉग्निशन और लाइटिंग एस्टीमेशन का समर्थन करते हैं। ARKit LiDAR का उपयोग करता है (iPad Pro/iPhone Pro पर) अधिक सटीक स्थिति निर्धारण के लिए।
सारांश
हम एक मोबाइल एप्लिकेशन टर्नकी विकसित करेंगे
IT Sectr 2017 से स्टार्टअप और व्यवसायों के लिए iOS और Android एप्लिकेशन बनाता है। हम आपको सलाह देंगे और सर्वोत्तम समाधान प्रस्तावित करेंगे।