एंड्रॉइड ऐप लिंक HTTP/HTTPS यूआरएल को सीधे आपके ऐप में खोलने की अनुमति देकर एक सहज उपयोगकर्ता अनुभव प्रदान करते हैं, जिससे ब्राउज़र का विभेदन डायलॉग बाईपास हो जाता है। यदि आपका ऐप इंस्टॉल नहीं है तो वे सहजता से ब्राउज़र पर वापस चले जाते हैं। इन्हें लागू करने में, विशेष रूप से रीडायरेक्ट के साथ, कई प्रमुख चरण शामिल होते हैं।
रीडायरेक्ट के साथ एंड्रॉइड ऐप लिंक जोड़ने का तरीका यहाँ दिया गया है: 1. अपना AndroidManifest.xml कॉन्फ़िगर करें आपको अपनी
AndroidManifest.xml फ़ाइल में उस गतिविधि के लिए एक इंटेंट फ़िल्टर घोषित करने की आवश्यकता है जो इनकमिंग लिंक को हैंडल करेगी। यह इंटेंट फ़िल्टर एंड्रॉइड सिस्टम को बताता है कि आपका ऐप कौन से URL खोल सकता है।
android:autoVerify="true": यह महत्वपूर्ण एट्रिब्यूट निर्दिष्ट URL पैटर्न के लिए डिफ़ॉल्ट हैंडलर के रूप में आपके ऐप का स्वचालित सत्यापन सक्षम करता है। <action android:name="android.intent.action.VIEW" />: यह निर्दिष्ट करता है कि इंटेंट फ़िल्टर तक Google Search से पहुँचा जा सकता है और यह देखने (viewing) क्रियाओं को संभालता है। <category android:name="android.intent.category.DEFAULT" />: यह आपके ऐप को निहित इंटेंट (implicit intents) का जवाब देने की अनुमति देता है।
<category android:name="android.intent.category.BROWSABLE" />: यह इरादा फ़िल्टर को वेब ब्राउज़र से सुलभ बनाने के लिए आवश्यक है, जिससे उपयोगकर्ता ब्राउज़र में एक डीप लिंक से आपके ऐप को खोल सकें।
<data> टैग: यह उस URI प्रारूप को परिभाषित करता है जिसे आपका ऐप संभाल सकता है। आप स्कीम (जैसे, https), होस्ट (आपका डोमेन), और वैकल्पिक रूप से एक पथ या पथ उपसर्ग निर्दिष्ट करेंगे।
उदाहरण AndroidManifest.xml प्रविष्टि: <activity android:name=".DeepLinkActivity"> <intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https"
android:host="www.example.com"
android:pathPrefix="/products" />
</intent-filter> </activity> इस कॉन्फ़िगरेशन का मतलब है कि आपका ऐप https://www.example.com/products/item123 जैसे URL को हैंडल कर सकता है।
2. assetlinks.json के साथ वेबसाइट एसोसिएशन घोषित करें यह सत्यापित करने के लिए कि आपका ऐप उन URL का वैध मालिक है जिन्हें वह संभालने का दावा करता है, आपको अपनी वेबसाइट पर एक डिजिटल एसेट लिंक JSON फ़ाइल होस्ट करनी होगी। यह फ़ाइल आपकी वेबसाइट और आपके एंड्रॉइड ऐप के बीच एक सुरक्षित एसोसिएशन स्थापित करती है।
assetlinks.json बनाएँ: फ़ाइल में आपके ऐप का पैकेज नाम और SHA256 प्रमाणपत्र फ़िंगरप्रिंट होना चाहिए। json [{ "relation": ["delegate_permission/common.handle_all_urls"],
"target": { "namespace": "android_app", "package_name": "com.your.packagename", "sha256_cert_fingerprints": ["YOUR_SHA256_FINGERPRINT"] } }]`
* package_name: आपका Android एप्लिकेशन आईडी।
* sha256_cert_fingerprints: आपके APK को बनाने के लिए उपयोग की गई साइनिंग कुंजी का SHA256 फिंगरप्रिंट। आप इसे अपने Google Play कंसोल से प्राप्त कर सकते हैं (यदि Play App Signing का उपयोग कर रहे हैं) या स्थानीय कीस्टोर के लिए keytool कमांड का उपयोग करके।
फ़ाइल को होस्ट करें: इस assetlinks.json फ़ाइल को https://your.domain.com/.well-known/assetlinks.json पर अपने वेब सर्वर पर अपलोड करें। सुनिश्चित करें कि यह HTTPS के माध्यम से सुलभ हो।
3. अपनी गतिविधि में आने वाले इंटेंट को संभालें अपने AndroidManifest.xml में निर्दिष्ट एंड्रॉइड गतिविधि में, आप यह निर्धारित करने के लिए आने वाले इंटेंट डेटा को पुनः प्राप्त करेंगे कि कौन सी सामग्री प्रदर्शित की जाए।
class DeepLinkActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState)
setContentView(R.layout.activity_deep_link)
intent?.data?.let { uri -> // uri कुछ इस तरह होगा https://www.example.com/products/item123 val productId = uri.lastPathSegment // "item123" निकालता है // प्रासंगिक सामग्री प्राप्त करने और प्रदर्शित करने के लिए productId का उपयोग करें
findViewById<TextView>(R.id.textView).text = "Product ID: $productId" } }
// यदि गतिविधि पहले से चल रही है तो नए इंटेंट्स को संभालें override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent)
setIntent(intent) // गतिविधि का इरादा अपडेट करें // यहां नए इरादे के डेटा को संसाधित करें, onCreate के समान intent?.data?.let { uri ->
val productId = uri.lastPathSegment
findViewById<TextView>(R.id.textView).text = "नया उत्पाद आईडी: $productId" } } }
4. एंड्रॉइड ऐप लिंक के साथ रीडायरेक्ट कैसे काम करते हैं एंड्रॉइड ऐप लिंक HTTP/HTTPS रीडायरेक्ट के साथ सहजता से काम करने के लिए डिज़ाइन किए गए हैं। जब कोई उपयोगकर्ता एक ऐसे URL पर क्लिक करता है जो रीडायरेक्ट करता है, तो Android सिस्टम रीडायरेक्ट चेन का अनुसरण करता है। महत्वपूर्ण बात यह है कि सभी रीडायरेक्ट के बाद अंतिम URL आपके AndroidManifest.xml में intent-filter कॉन्फ़िगरेशन से मेल खाना चाहिए और आपकी assetlinks.json फ़ाइल द्वारा कवर किया जाना चाहिए।
सर्वर-साइड रीडायरेक्ट: यदि आपका वेब सर्वर 301 (स्थायी) या 302 (अस्थायी) रीडायरेक्ट करता है, तो Android सिस्टम उसका अनुसरण करेगा। उदाहरण के लिए, यदि https://www.example.com/old-product https://www.example.com/products/item123 पर रीडायरेक्ट करता है, और आपका ऐप https://www.example.com/products/ को संभालने के लिए कॉन्फ़िगर किया गया है, तो ऐप item123 के साथ खुलेगा।
फॉलबैक व्यवहार: यदि ऐप उपयोगकर्ता के डिवाइस पर इंस्टॉल नहीं है, या यदि डोमेन सत्यापन विफल हो जाता है, तो लिंक एक वेब ब्राउज़र में खुलेगा।