Android
डीप लिंक्स को हैंडल करना
खोज…
परिचय
डीप लिंक वे URL होते हैं जो उपयोगकर्ताओं को सीधे आपके ऐप में विशिष्ट सामग्री पर ले जाते हैं। आप अपने ऐप में उपयोगकर्ताओं को सही स्क्रीन पर ड्राइव करने के लिए आने वाले इरादों से इरादे फिल्टर जोड़कर और डेटा निकालकर गहरे लिंक सेट कर सकते हैं।
पैरामीटर
<data> विशेषता | विवरण |
---|---|
योजना | एक यूआरआई (केस-संवेदी) का योजना हिस्सा। उदाहरण: http , https , ftp |
मेज़बान | एक यूआरआई (केस-संवेदी) का मेजबान हिस्सा। उदाहरण: google.com , example.org |
बंदरगाह | एक URI का पोर्ट भाग। उदाहरण: 80 , 443 |
पथ | एक URI का पथ भाग। से शुरू होना चाहिए / । उदाहरण: / , /about |
pathPrefix | एक URI के पथ भाग के लिए एक उपसर्ग। उदाहरण: /item , /article |
pathPattern | एक URI के पथ भाग के लिए मिलान करने के लिए एक पैटर्न। उदाहरण: /item/.* , /article/[0-9]* |
माइम प्रकार | मेल करने के लिए एक माइम प्रकार। उदाहरण: image/jpeg , audio/* |
टिप्पणियों
<intent-filter>
<action>
और <category>
तत्वों का यह संयोजन एंड्रॉइड सिस्टम को बताता है कि जब उपयोगकर्ता किसी अन्य एप्लिकेशन में लिंक पर क्लिक करता है तो एक विशिष्ट गतिविधि लॉन्च की जानी चाहिए।
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data ... />
</intent-filter>
एकाधिक <data>
टैग
आपके <intent-filter>
का समर्थन करने वाले गहरे लिंक का सेट सभी <data>
तत्वों का क्रॉस-उत्पाद है जो आप उस इरादे-फ़िल्टर में परिभाषित करते हैं। कई डोमेन, कई पथ, और कई योजना उदाहरण इसे प्रदर्शित करते हैं।
साधन
- एप्लिकेशन सामग्री के लिए डीप लिंक सक्षम करना (developer.android.com)
-
<intent-filter>
(developer.android.com)
सरल गहरा लिंक
AndroidManifest.xml:
<activity android:name="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="www.example.com" />
</intent-filter>
</activity>
यह आपकी MainActivity
शुरू करने के लिए http://www.example.com
साथ शुरू होने वाले किसी भी लिंक को एक गहरे लिंक के रूप में स्वीकार करेगा।
एक ही डोमेन पर कई रास्ते
AndroidManifest.xml:
<activity android:name="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="www.example.com" />
<data android:path="/" />
<data android:path="/about" />
<data android:path="/map" />
</intent-filter>
</activity>
उपयोगकर्ता द्वारा इनमें से किसी भी लिंक पर क्लिक करने पर यह आपकी MainActivity
को लॉन्च करेगा:
-
http://www.example.com/
-
http://www.example.com/about
-
http://www.example.com/map
कई डोमेन और कई रास्ते
AndroidManifest.xml:
<activity android:name="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="www.example.com" />
<data android:scheme="http"
android:host="www.example2.com" />
<data android:path="/" />
<data android:path="/map" />
</intent-filter>
</activity>
उपयोगकर्ता द्वारा इनमें से किसी भी लिंक पर क्लिक करने पर यह आपकी मुख्यता को लॉन्च करेगा:
-
http://www.example.com/
-
http://www.example2.com/
-
http://www.example.com/map
-
http://www.example2.com/map
Http और https दोनों एक ही डोमेन के लिए
AndroidManifest.xml:
<activity android:name="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="www.example.com" />
<data android:path="/" />
<data android:path="/map" />
</intent-filter>
</activity>
उपयोगकर्ता द्वारा इनमें से किसी भी लिंक पर क्लिक करने पर यह आपकी मुख्यता को लॉन्च करेगा:
-
http://www.example.com/
-
https://www.example.com/
-
http://www.example.com/map
-
https://www.example.com/map
क्वेरी पैरामीटर पुनर्प्राप्त करना
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Intent intent = getIntent();
Uri data = intent.getData();
if (data != null) {
String param1 = data.getQueryParameter("param1");
String param2 = data.getQueryParameter("param2");
}
}
}
यदि उपयोगकर्ता एक param1
http://www.example.com/map?param1=FOO¶m2=BAR
पर क्लिक करता है, तो यहाँ param1
का मान "FOO"
होगा और param2
का मान "BAR"
।
PathPrefix का उपयोग करना
AndroidManifest.xml:
<activity android:name="com.example.MainActivity" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http"
android:host="www.example.com"
android:path="/item" />
</intent-filter>
</activity>
जब उपयोगकर्ता http://www.example.com/item
शुरू होने वाले किसी भी लिंक पर क्लिक करता है, तो यह आपकी मुख्यता को लॉन्च करेगा:
-
https://www.example.com/item
-
http://www.example.com/item/1234
-
https://www.example.com/item/xyz/details