इन-ऐप्लिकेशन ब्राउज़र की मदद से, उपयोगकर्ताओं को आपके ऐप्लिकेशन से बाहर जाए बिना वेब का पूरा अनुभव मिलता है. Android, इन-ऐप्लिकेशन ब्राउज़र लागू करने के लिए दो मुख्य एपीआई उपलब्ध कराता है: कस्टम टैब और वेबव्यू. अगर आपके पास कोई ऐसा लिंक या विज्ञापन है जो किसी वेब पेज पर ले जाता है, तो इन-ऐप्लिकेशन ब्राउज़र का इस्तेमाल करें. जैसा कि पहली इमेज में दिखाया गया है, उस पेज को सीधे अपने ऐप्लिकेशन में खोला जा सकता है.
कस्टम टैब और वेबव्यू में से किसी एक को चुनना, आर्किटेक्चर से जुड़ा एक अहम फ़ैसला है. इससे डेवलपमेंट की स्पीड, उपयोगकर्ता अनुभव, और यूज़र इंटरफ़ेस (यूआई) पर आपका कंट्रोल तय होता है.
जल्द पूरी होने वाली तुलना करें
यह तय करने के लिए कि आपकी ज़रूरतों के हिसाब से कौनसा टूल सही है, यहां दी गई टेबल देखें:
| सुविधा | WebView | कस्टम टैब |
|---|---|---|
| डिवाइस का मुख्य इस्तेमाल | वेब को मुख्य या सहायक कॉन्टेंट के तौर पर इस्तेमाल करने वाले हाइब्रिड ऐप्लिकेशन बनाना, विज्ञापन दिखाना, इन-ऐप्लिकेशन कैंपेन या सेवा की शर्तों वाले पेज दिखाना. | बाहरी वेबसाइटों (जैसे, खबरों के लेख या प्रॉडक्ट पेज) से कॉन्टेंट दिखाना. |
| यूज़र इंटरफ़ेस (यूआई) कंट्रोल | पूरा. यह एक View कॉम्पोनेंट है, जिसे कहीं भी रखा जा सकता है. आस-पास के पूरे यूज़र इंटरफ़ेस (यूआई) को कंट्रोल किया जा सकता है. |
सीमित. टूलबार के रंग को थीम किया जा सकता है और कुछ कस्टम ऐक्शन जोड़े जा सकते हैं. |
| डेटा और सेशन | सैंडबॉक्स किया गया. यह उपयोगकर्ता के मुख्य ब्राउज़र के साथ कुकी या लॉगिन की जानकारी शेयर नहीं करता. | शेयर किया जाता है. यह उपयोगकर्ता के डिफ़ॉल्ट ब्राउज़र सेशन का इस्तेमाल करता है. इसमें कुकी और सेव किए गए पासवर्ड शामिल होते हैं. |
| नेटिव <-> वेब ब्रिज | हां. वेब कॉन्टेंट और नेटिव ऐप्लिकेशन कोड के बीच, डीप और दोतरफ़ा कम्यूनिकेशन के लिए, JavaScript ब्रिज का इस्तेमाल किया जा सकता है. | सीमित. स्ट्रिंग पास करने के लिए, window.postMessage() तरीके का इस्तेमाल किया जा सकता है. |
| डेवलपर की मेहनत | ज़्यादा. लाइफ़साइकल, नेविगेशन, और परफ़ॉर्मेंस को खुद मैनेज करना होता है. | कम. इसे कोड की कुछ ही लाइनों की मदद से लागू किया जा सकता है. |
WebView
WebView एक ऐसा व्यू है जिसकी मदद से, वेब पेजों को आपके ऐप्लिकेशन के लेआउट का अहम हिस्सा बनाया जा सकता है. यह बहुत काम का है, लेकिन कस्टम टैब की तुलना में इसे मैनेज करना थोड़ा मुश्किल है.
WebView, रिमोट या लोकल वेब कॉन्टेंट लोड कर सकता है, JavaScript को एक्ज़ीक्यूट कर सकता है, और आपके वेब कॉन्टेंट और नेटिव ऐप्लिकेशन कोड के बीच दोतरफ़ा कम्यूनिकेशन की सुविधा दे सकता है. इसकी सुविधाओं के बारे में ज़्यादा जानने के लिए, WebView क्या कर सकता है लेख पढ़ें.
वेबव्यू का इस्तेमाल, वेब ऐप्लिकेशन उपलब्ध कराने या अपने ऐप्लिकेशन के हिस्से के तौर पर, ऑनलाइन वेब पेज दिखाने के लिए भी किया जा सकता है. उदाहरण के लिए, असली उपयोगकर्ता के लिए समझौते की शर्तें, जिन्हें आपको समय-समय पर अपडेट करना होता है. ज़्यादा जानने के लिए, WebView में वेब ऐप्लिकेशन बनाना लेख पढ़ें.
आपको WebView क्यों चुनना चाहिए
यहां कुछ ऐसी स्थितियां दी गई हैं जिनमें WebView का इस्तेमाल करना सही है:
- हाइब्रिड ऐप्लिकेशन: ऐसा ऐप्लिकेशन बनाना जिसमें वेब कॉन्टेंट और नेटिव कॉम्पोनेंट (जैसे, नेविगेशन बार या फ़्लोटिंग ऐक्शन बटन) साथ-साथ दिखते हैं.
- पहले पक्ष का कॉन्टेंट: आपका वेब कॉन्टेंट, ऐप्लिकेशन के अनुभव का एक अहम और इंटरैक्टिव हिस्सा है. जैसे, कोई दस्तावेज़ एडिटर या डिज़ाइन कैनवस.
- पूरा यूज़र इंटरफ़ेस (यूआई) कंट्रोल: आपको वेब पेज के कॉन्टेंट में बदलाव करना है या उसके ऊपर नेटिव यूज़र इंटरफ़ेस (यूआई) एलिमेंट ओवरले करने हैं.
- डीप ऐनलिटिक्स: आपको वेब व्यू में उपयोगकर्ता के जुड़ाव और गतिविधि के बारे में ज़्यादा जानकारी चाहिए.
अहम फ़ैक्टर
WebView का इस्तेमाल करते समय, इन अहम फ़ैक्टर को ध्यान में रखें:
- परफ़ॉर्मेंस: WebView, ज़्यादा मेमोरी इस्तेमाल कर सकता है. अगर इसे सावधानी से मैनेज नहीं किया गया, तो परफ़ॉर्मेंस से जुड़ी समस्याएं या एएनआर (ऐप्लिकेशन के जवाब न देने से जुड़ी गड़बड़ियां) आ सकती हैं.
- सुरक्षा और रखरखाव: सुरक्षा को मज़बूत बनाने और लाइफ़साइकल को मैनेज करने की ज़िम्मेदारी आपकी है. हालांकि, WebView के अपडेट, Google Play के ज़रिए दुनिया भर में रोल आउट होते हैं. इसलिए, आपको इसके इंजन के पुराने होने की चिंता करने की ज़रूरत नहीं है.
कस्टम टैब
कस्टम टैब, उपयोगकर्ताओं को बाहरी यूआरएल पर ले जाने के लिए एक बेहतरीन विकल्प है. इसकी मदद से, आपके ऐप्लिकेशन पर एक तेज़, सुरक्षित, और उपयोगकर्ता के लिए आसान ब्राउज़र विंडो स्लाइड होती है.
आपको कस्टम टैब क्यों चुनना चाहिए
यहां कुछ ऐसी स्थितियां दी गई हैं जिनमें कस्टम टैब का इस्तेमाल करना सही है:
- बाहरी लिंक: जब कोई उपयोगकर्ता ऐसी वेबसाइट के लिंक पर टैप करता है जो आपकी नहीं है, तो कस्टम टैब उन्हें आपके ऐप्लिकेशन के कॉन्टेक्स्ट में रखता है. साथ ही, उन्हें ब्राउज़र का पूरा अनुभव देता है.
- इंटिग्रेट करने में आसानी: एंबेड किए गए वेब अनुभव को चालू करने और चलाने का यह सबसे आसान तरीका है.
- शेयर की गई स्थिति: यह उपयोगकर्ता के डिफ़ॉल्ट ब्राउज़र के साथ कुकी शेयर करता है. इसलिए, उपयोगकर्ताओं को उन साइटों पर फिर से साइन इन नहीं करना पड़ता जिन पर वे पहले ही जा चुके हैं.
- तीसरे पक्ष के साथ साइन-इन: ये तीसरे पक्ष के साथ साइन-इन फ़्लो (जैसे, "Google खाते से साइन इन करें" या "Facebook से साइन इन करें") के लिए सही हैं, क्योंकि ब्राउज़र क्रेडेंशियल को सुरक्षित तरीके से मैनेज करता है.
ज़्यादातर ब्राउज़र, कस्टम टैब के साथ काम करते हैं. हालांकि, कुछ ब्राउज़र में दूसरों के मुकाबले ज़्यादा कस्टमाइज़ेशन की सुविधा मिलती है. ज़्यादा जानकारी के लिए, ब्राउज़र के साथ काम करने की सुविधा देखें.
Jetpack Compose में वेब कॉन्टेंट का इस्तेमाल करना
Jetpack Compose की मदद से ऐप्लिकेशन बनाते समय, कस्टम टैब और वेबव्यू, दोनों का इस्तेमाल किया जा सकता है:
- कस्टम टैब: कस्टम टैब,
Intentका इस्तेमाल करते हैं. इसलिए, इन्हें अपने Compose फ़ंक्शन में किसी भीContextसे लॉन्च किया जा सकता है. इससे इन्हें आसानी से इंटिग्रेट किया जा सकता है. - WebView: Compose में अब तक, नेटिव WebView कंपोज़ेबल नहीं है. इसलिए, आपको अपने लेआउट में स्टैंडर्ड WebView एंबेड करने के लिए,
AndroidViewका इस्तेमाल करना होगा.
अन्य संसाधन
वेबव्यू या कस्टम टैब एपीआई का इस्तेमाल करके, Android पर चलने वाले डिवाइसों के लिए वेब पेज डेवलप करने के बारे में जानने के लिए, ये दस्तावेज़ देखें:
- अपने ऐप्लिकेशन में वेब कॉन्टेंट को मुख्य या सहायक कॉन्टेंट के तौर पर एंबेड करना
- एपीआई के बारे में जानकारी: WebView
- कस्टम टैब की खास जानकारी
- भरोसेमंद वेब गतिविधियों की खास जानकारी
- ब्राउज़र के साथ काम करने की सुविधा