डाइनैमिक लिंक से ऐप्लिकेशन लिंक और यूनिवर्सल लिंक पर माइग्रेट करना

डेटा को दूसरी जगह भेजने से जुड़ी यह गाइड, ऐप्लिकेशन के लिंक और यूनिवर्सल लिंक के इस्तेमाल पर फ़ोकस करती है. इसके अलावा, अपनी ऐप्लिकेशन साइट से असोसिएशन फ़ाइलों को होस्ट करने के लिए, Firebase होस्टिंग का इस्तेमाल करना ज़रूरी नहीं है.

इस माइग्रेशन में, Firebase डाइनैमिक लिंक की इन सुविधाओं को बदल दिया गया है:

सुविधा Firebase डाइनैमिक लिंक ऐप्लिकेशन लिंक / यूनिवर्सल लिंक
सिंगल लिंक क्लिक करके, लोगों को उनके डिवाइस के हिसाब से सही स्टोर पर भेजें
डिफ़र्ड डीप लिंक का इस्तेमाल करके, आपका ऐप्लिकेशन डाउनलोड और इंस्टॉल करने के बाद, लोगों को प्रक्रिया जारी रखने की सुविधा दें
अपने ऐप्लिकेशन में डीप-लिंक किए गए कॉन्टेंट का इस्तेमाल करके, लोगों को संदर्भ के हिसाब से अनुभव दें. ऐसा तब होगा, जब ऐप्लिकेशन पहले से इंस्टॉल हो
डाइनैमिक लिंक क्लिक इवेंट से जुड़े आंकड़े उपलब्ध कराना
लिंक वाले छोटे यूआरएल बनाने की सुविधा देता है

अगर आपको माइग्रेशन के लिए Firebase डाइनैमिक लिंक की ऐसी अन्य सुविधाओं की ज़रूरत है जिनका इस्तेमाल इस गाइड में नहीं किया जा सकता, तो डाइनैमिक लिंक को बंद करने से जुड़े अक्सर पूछे जाने वाले सवाल वाले दस्तावेज़ में, माइग्रेशन से जुड़े अन्य मामले देखें.

मान लें कि आपके पास Firebase का डाइनैमिक लिंक है, जो ऐसा दिखता है:

डाइनैमिक लिंक का उदाहरण
लिंक का नाम Example.com पर आपका स्वागत है
डीप लिंक https://example.web.app/welcome
Android ऐप्लिकेशन com.example.android
Apple ऐप्लिकेशन com.example.ios
लंबा डाइनैमिक लिंक https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
छोटा डाइनैमिक लिंक https://example.page.link/m9Mm

माइग्रेशन गाइड का मकसद, Firebase डाइनैमिक लिंक को इस तरह से बदलना है:

https://example.page.link/m9Mm

ऐप्लिकेशन लिंक / यूनिवर्सल लिंक के डीप लिंक, जो इस तरह दिखते हैं:

https://your-project-domain.web.app/welcome

ध्यान दें कि ऐप्लिकेशन लिंक / यूनिवर्सल लिंक डीप लिंक से आपके उपयोगकर्ताओं को यह जानकारी मिलेगी:

  • एक डीप लिंक, जिस पर क्लिक करके वे आपका ऐप्लिकेशन खोल सकते हैं. हालांकि, इसके लिए ज़रूरी है कि वह पहले से इंस्टॉल हो
  • ऐप्लिकेशन के चालू होने पर, उपयोगकर्ता के तौर पर उसके किसी खास हिस्से पर नेविगेट करने की प्रोसेस को जारी रखना

हालांकि, ऐप्लिकेशन लिंक / यूनिवर्सल लिंक का डीप लिंक, आपके उपयोगकर्ताओं के लिए नीचे दिए गए व्यवहार की जानकारी नहीं देगा (जो पहले Firebase डाइनैमिक लिंक ने किया था):

  • आपका ऐप्लिकेशन डाउनलोड और इंस्टॉल करने के लिए, लोगों को उनके डिवाइस पर सही स्टोर पर ले जाना
  • ऐप्लिकेशन डाउनलोड करने, इंस्टॉल करने, और उसे पहली बार खोलने के बाद, उन्हें उपयोगकर्ता की गतिविधियों को जारी रखना

ध्यान दें कि Firebase डाइनैमिक लिंक की तुलना में इन ऐप्लिकेशन लिंक / यूनिवर्सल लिंक के काम करने के तरीके और फ़ंक्शन में क्या अंतर है.

वेब कंटेनर इंस्टॉल करने से पहले

Firebase डाइनैमिक लिंक, ऐप्लिकेशन लिंक (Android पर) और यूनिवर्सल लिंक (iOS पर) का इस्तेमाल खुद के लागू करने के तरीके में करते हैं. ऐसा इसलिए किया जाता है, ताकि आपका ऐप्लिकेशन पहले से इंस्टॉल होने के बाद भी डीप-लिंक करने की सुविधा उपलब्ध कराई जा सके.

इस गाइड में Firebase डाइनैमिक लिंक की सुविधा के उस हिस्से को बदलने के लिए, Firebase होस्टिंग का इस्तेमाल करके अपने ऐप्लिकेशन के लिंक और यूनिवर्सल लिंक बनाने का तरीका बताया गया है. ऐसा, Firebase डाइनैमिक लिंक को नए ऐप्लिकेशन लिंक / यूनिवर्सल लिंक माइग्रेशन सलूशन पर माइग्रेट करते समय किया जा सकता है.

अपना माइग्रेशन पूरा करने के लिए आपको नीचे दी गई जानकारी की ज़रूरत होगी:

  • वे Firebase डाइनैमिक लिंक जिन्हें आपको माइग्रेट करना है
  • आपके डाइनैमिक लिंक में शामिल डीप-लिंक यूआरएल पैरामीटर
  • वह डोमेन जिसका इस्तेमाल आपको अपने पिछले Firebase डाइनैमिक लिंक के डोमेन को बदलने के लिए करना है (अगर लागू हो)

अपने मौजूदा लिंक के मेटाडेटा को एक्सपोर्ट करने और ऊपर बताई गई जानकारी पाने के लिए, डाइनैमिक लिंक के मेटाडेटा एक्सपोर्ट करें गाइड का इस्तेमाल करें.

माइग्रेशन के चरणों के बारे में खास जानकारी

  1. Firebase होस्टिंग का इस्तेमाल करके, अपने ऐप्लिकेशन लिंक या यूनिवर्सल लिंक की कॉन्फ़िगरेशन फ़ाइलों को होस्ट करने के लिए, एक नया डोमेन बनाएं (अगर आपके पास पहले से वह डोमेन नहीं है जिसका आपको इस्तेमाल करना है).

  2. अपने होस्टिंग डोमेन पर ऐप्लिकेशन लिंक / यूनिवर्सल लिंक की कॉन्फ़िगरेशन फ़ाइलें बनाएं और उन्हें होस्ट करें.

  3. नए ऐप्लिकेशन लिंक / यूनिवर्सल लिंक बनाएं. ये लिंक, Firebase डाइनैमिक लिंक में इस्तेमाल किए गए डीप लिंक स्कीमा से मेल खाते हैं.

  4. डीप-लिंक पाने के लिए, अपना Android / iOS ऐप्लिकेशन और ऐप्लिकेशन कोड अपडेट करें.

  5. अपने ऐप्लिकेशन लिंक / यूनिवर्सल लिंक के इंटिग्रेशन की जांच करना.

  6. अपने पब्लिश या शेयर किए गए Firebase डाइनैमिक लिंक को ऐप्लिकेशन लिंक और यूनिवर्सल लिंक से बदलें.

पहला चरण, ऐप्लिकेशन लिंक या यूनिवर्सल लिंक माइग्रेशन फ़्लो, दोनों के लिए सामान्य होगा. प्लैटफ़ॉर्म के हिसाब से, बचा हुआ डेटा अलग-अलग होगा. इसलिए, नीचे दी गई गाइड के सेक्शन पर जाएं और देखें कि आपको किस प्लैटफ़ॉर्म पर पहले माइग्रेट करना है.

कोई डोमेन चुनें

सबसे पहले एक ऐसा डोमेन चुनें जिसका इस्तेमाल आपको अपने ऐप्लिकेशन लिंक या यूनिवर्सल लिंक के लिए करना है. इस डोमेन का इस्तेमाल उन नए लिंक के लिए किया जाएगा जिन्हें उपयोगकर्ताओं के साथ शेयर किया जाएगा.

Firebase होस्टिंग का इस्तेमाल करने पर, your-project-domain.web.app या your-project-domain.firebaseapp.com फ़ॉर्मैट वाले प्रोजेक्ट के सबडोमेन अपने-आप बिना किसी शुल्क के प्रावधान हो जाते हैं. ऐप्लिकेशन लिंक / यूनिवर्सल लिंक की कॉन्फ़िगरेशन फ़ाइलों को होस्ट करने के लिए, Firebase होस्टिंग के साथ या इसके बिना भी कस्टम डोमेन का इस्तेमाल किया जा सकता है.

Firebase होस्टिंग सेट अप करें

इसके बाद, आपको अपना Firebase होस्टिंग इंस्टेंस सेट अप और कॉन्फ़िगर करना होगा.

अपना Firebase होस्टिंग इंस्टेंस सेट अप करने तक, आपके पास your-project-domain.web.app से मिलता-जुलता डोमेन होगा. इसके अलावा, अगर आप चाहें, तो कस्टम डोमेन भी बन जाएगा.

ऐप्लिकेशन लिंक का इस्तेमाल करने के लिए, आपको एक कॉन्फ़िगरेशन फ़ाइल होस्ट करनी होगी. इससे आपके ऐप्लिकेशन और आपके लिंक में इस्तेमाल किए गए डोमेन को सुरक्षित तरीके से जोड़ने में मदद मिलेगी. ऐप्लिकेशन लिंक के लिए, यह assetlinks.json फ़ाइल है.

assetlinks.json फ़ाइल को बनाने और होस्ट करने का तरीका

assetlinks.json फ़ाइल से हमें ऐसे ऐप्लिकेशन की सूची देने की अनुमति मिलती है जो ऐप्लिकेशन लिंक के लिए इस्तेमाल किए जाने वाले वेब डोमेन के कॉन्टेंट को मैनेज कर सकते हैं. assetlinks.json फ़ाइल को, पाथ के नीचे, वेब डोमेन के रूट में होस्ट करना ज़रूरी है: /.well-known.

इस कॉन्फ़िगरेशन को पूरा करने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. अपनी Firebase होस्टिंग रूट डायरेक्ट्री के सार्वजनिक फ़ोल्डर में .well-known फ़ोल्डर बनाएं.

  2. .well-known फ़ोल्डर के तहत, assetlinks.json नाम की फ़ाइल बनाएं.

  3. यहां दिए गए कॉन्टेंट को अपनी assetlinks.json फ़ाइल में कॉपी करें और यहां दिए गए हर फ़ील्ड के मतलब को ध्यान में रखें:

    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target": {
        "namespace": "android_app",
        "package_name": "com.example.android",
        "sha256_cert_fingerprints":
          ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"]
      }
    }]
    
    • namespace - से उस ऐप्लिकेशन का नाम पता चलता है जो आपको उपलब्ध कराना है
    • package_name - से ऐप्लिकेशन की build.gradle फ़ाइल में बताए गए appId का पता चलता है
    • sha256_cert_fingerprints - कीस्टोर फ़ाइल का SHA256 फ़िंगरप्रिंट मौजूद है. इसका इस्तेमाल ऐप्लिकेशन पर हस्ताक्षर करने के लिए किया जाता है.

    डीबग करने के लिए, sha256_cert_fingerprints रिकॉर्ड जनरेट किया जा सकता है. इसके लिए, Android Studio में इस्तेमाल की गई डीबग.keystore फ़ाइल का इस्तेमाल किया जा सकता है. फ़ाइल को Mac और Linux पर /Users/<username>/.android/debug.keystore पर और Windows पर C:\Users\<username>\.android\debug.keystore पर देखा जा सकता है.

    इस कीस्टोर से, कीटूल का इस्तेमाल करके SHA256 वैल्यू फ़ेच की जा सकती है.

    इस चरण को पूरा करने के बारे में ज़्यादा निर्देशों के लिए, ऐप्लिकेशन के लिंक के दस्तावेज़ का यह सेक्शन देखें.

    इसके अलावा, Android Studio में ऐप्लिकेशन लिंक असिस्टेंट का इस्तेमाल करके, assetlinks.json फ़ाइल का कॉन्टेंट जनरेट किया जा सकता है. साथ ही, ऐप्लिकेशन लिंक को मैनेज करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर किया जा सकता है.

  4. होस्टिंग के लिए फ़ाइल को इंडेक्स करने के लिए, अपनी firebase.json फ़ाइल को अपडेट करें.

    "headers": [
      {
        "source": "/.well-known/assetlinks.json",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. अब हमने assetlinks.json की फ़ाइल तैयार कर ली है. इसलिए, बदलावों को होस्ट करने के लिए, firebase deploy को चलाएं.

    ध्यान दें कि ऊपर दिए गए डिप्लॉय कमांड को चलाने के लिए, आपको Firebase सीएलआई इंस्टॉल करना होगा.

    firebase deploy --only hosting
    
  6. https://your-project-domain.web.app/.well-known/assetlinks.json पर जाकर, assetlinks.json फ़ाइल की पुष्टि करें

इस चरण में, ऐप्लिकेशन लिंक के लिए बनाए गए नए डोमेन से मैच करने वाले सामान्य डीप लिंक यूआरएल का इस्तेमाल करके, Firebase डाइनैमिक लिंक से डीप-लिंक फिर से बनाए जाएंगे.

उदाहरण के लिए, मान लें कि आपके पास नीचे दिया गया Firebase डाइनैमिक लिंक है:

डाइनैमिक लिंक का उदाहरण
लिंक का नाम Example.com पर आपका स्वागत है
डीप लिंक https://example.web.app/welcome
Android ऐप्लिकेशन com.example.android
Apple ऐप्लिकेशन com.example.ios
लंबा डाइनैमिक लिंक https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
छोटा डाइनैमिक लिंक https://example.page.link/m9Mm

इस मामले में, आपको डीप लिंक पैरामीटर एक्सट्रैक्ट करना होगा - यानी कि https://example.web.app/welcome और अब इसका इस्तेमाल अपने ऐप्लिकेशन के लिए ऐप्लिकेशन लिंक पैरामीटर के तौर पर करेगा.

आपको हर उस Firebase डाइनैमिक लिंक के लिए इस प्रोसेस को दोहराना होगा जिसे ऐप्लिकेशन लिंक / यूनिवर्सल लिंक का इस्तेमाल करने पर माइग्रेट करना है. साथ ही, इस्तेमाल किए गए डीप-लिंकिंग स्कीमा को कॉपी करना होगा.

उदाहरण के लिए, कृपया Firebase डाइनैमिक लिंक के छोटे लिंक, डीप लिंक पैरामीटर, और माइग्रेट किए गए डीप लिंक की वैल्यू के ये सेट देखें:

छोटा लिंक डीप लिंक पैरामीटर माइग्रेट किया गया डीप लिंक
yourapp.page.link/welcome https://example.com/welcome yourapp.web.app/welcome
yourapp.page.link/c7sn https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
yourapp.page.link/social https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1

इसके बाद, आपको नए माइग्रेट किए गए डीप लिंक के साथ पब्लिश या शेयर किए गए Firebase डाइनैमिक लिंक के सभी इंस्टेंस बदलने होंगे, ताकि उपयोगकर्ता पिछले Firebase डाइनैमिक लिंक के बजाय उन ऐप्लिकेशन लिंक पर क्लिक कर सकें.

डोमेन चुनने के बाद, नए डीप लिंक पाने के लिए, अपने Android ऐप्लिकेशन और ऐप्लिकेशन कोड को अपडेट करना, डीप-लिंकिंग स्कीमा चुनना और अपने Firebase डाइनैमिक लिंक को ऐप्लिकेशन लिंक पर माइग्रेट करना है.

हमारा सुझाव है कि आप ऐप्लिकेशन लिंक के दस्तावेज़ यहां दिए गए हों या डीप लिंक मैनेज करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, Android Studio की गाइड में दिए गए निर्देशों का पालन करें. हालांकि, यहां दिया गया मुख्य तरीका यहां दिया गया है:

  1. यह पता लगाना कि किन गतिविधियों में जुड़े डीप लिंक को हैंडल करना चाहिए
  2. अपनी AndroidManifest.xml फ़ाइल में उन गतिविधियों के लिए इंटेंट फ़िल्टर जोड़ना
  3. आपकी गतिविधियों के ऐप्लिकेशन कोड में डीप लिंक मिल रहा है

मान लें कि आपको अपने कुछ डीप लिंक मैनेज करने के लिए, MainActivity का इस्तेमाल करना है. ऐसा करने के लिए, आपको अपनी AndroidManifest.xml फ़ाइल में, MainActivity में यह इंटेंट फ़िल्टर जोड़ना होगा:

<activity android:name=".MainActivity"
   android:exported="true">
   <intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   <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:host="example.web.app" android:scheme="http"
           android:pathPrefix="/welcome" />
       <data android:host="example.web.app" android:scheme="https"
           android:pathPrefix="/welcome" />
   </intent-filter>
</activity>

इस चरण में यह बताया जाता है कि MainActivity, wxa चाहे.web.app डोमेन के डीप लिंक को मैनेज करने का डेस्टिनेशन है और इसमें /welcome पाथ प्रीफ़िक्स शामिल है. ध्यान दें कि आपको android:autoVerify="true" एट्रिब्यूट के बारे में भी बताना होगा. इसकी मदद से, इस तरह के लिंक के लिए अपने ऐप्लिकेशन को डिफ़ॉल्ट हैंडलर के तौर पर सेट किया जा सकेगा.

आखिर में, डीप लिंक का डेटा वापस पाने के लिए, आपको MainActivity में कोड जोड़ना होगा और उसका इस्तेमाल अपने ऐप्लिकेशन में डीप लिंक के अनुभव को बढ़ाने के लिए करना होगा. यह उसी लॉजिक के जैसा है जिसे Firebase डाइनैमिक लिंक के साथ इंटिग्रेट करते समय आपने अपने ऐप्लिकेशन में पहले से कोड किया हुआ है.

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)

  val  data: Uri? = intent?.data

  val toast = Toast.makeText(this, data, duration)
  toast.show()
}

ऐप्लिकेशन के उन लिंक की जांच की जा सकती है जिन्हें आपने अभी-अभी बनाया है. इसके लिए, आपको किसी डिवाइस पर या Android एम्युलेटर पर जाना होगा.

आपको अपने ऐप्लिकेशन लिंक के लिए कॉन्फ़िगर किए गए डोमेन का इस्तेमाल करके, क्लिक किया जा सकने वाला लिंक बनाना होगा. इसके बाद, उस लिंक पर क्लिक करना होगा, ताकि यह पक्का हो सके कि लिंक आपके ऐप्लिकेशन में खुलता है और आपको मनचाही गतिविधि पर ले जाता है.

इसके अलावा, Android Studio में ऐप्लिकेशन लिंक असिस्टेंट का इस्तेमाल करके, ऐप्लिकेशन लिंक के इंटिग्रेशन की जांच की जा सकती है. इसके अलावा, आपके पास अपने कॉन्फ़िगर किए गए ऐप्लिकेशन लिंक के यूआरएल के लिए यहां दिए गए निर्देश का इस्तेमाल करने का भी विकल्प है. इससे यह पक्का किया जा सकता है कि मेल खाने वाली गतिविधि को सही तरीके से लॉन्च किया जाए:

adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>

माइग्रेशन के आखिरी चरण में, पब्लिश या शेयर किए गए Firebase डाइनैमिक लिंक को ऐप्लिकेशन लिंक से बदलना होगा. साथ ही, आने वाले समय में ऐप्लिकेशन लिंक का इस्तेमाल जारी रखना होगा.

आपने Firebase डाइनैमिक लिंक कहां और कैसे पब्लिश किए हैं, इसके आधार पर इस चरण को पूरा करना अलग-अलग होगा. हालांकि, मौजूदा Firebase डाइनैमिक लिंक के मेटाडेटा को ट्रैक करने में आपकी मदद करने के लिए, अपने मौजूदा Firebase डाइनैमिक लिंक के मेटाडेटा को एक्सपोर्ट किया जा सकता है. डाइनैमिक लिंक के मेटाडेटा को एक्सपोर्ट करने से जुड़ी गाइड देखें.

यूनिवर्सल लिंक का इस्तेमाल करने के लिए, आपको एक कॉन्फ़िगरेशन फ़ाइल होस्ट करनी होगी. इससे, आपके लिंक और ऐप्लिकेशन में इस्तेमाल किए गए डोमेन के बीच सुरक्षित तरीके से असोसिएशन बनाने में मदद मिलती है. यूनिवर्सल लिंक के लिए, यह apple-app-site-association फ़ाइल है (इसे AASA फ़ाइल भी कहा जाता है).

apple-app-site-association फ़ाइल बनाने और होस्ट करने का तरीका

AASA फ़ाइल से, हमें अनुमति वाले उन ऐप्लिकेशन की सूची मिलती है जो उस वेब डोमेन के कॉन्टेंट को मैनेज कर सकते हैं जिसका इस्तेमाल हम अपने यूनिवर्सल लिंक के लिए करेंगे. AASA फ़ाइल को, पाथ: /.well-known के वेब डोमेन के रूट में होस्ट किया जाना चाहिए.

इस कॉन्फ़िगरेशन को पूरा करने के लिए, नीचे दिया गया तरीका अपनाएं:

  1. अपनी Firebase होस्टिंग रूट डायरेक्ट्री के सार्वजनिक फ़ोल्डर में ".well-known" फ़ोल्डर बनाएं.

  2. ".well-known" फ़ोल्डर में "apple-app-site-association" नाम की फ़ाइल बनाएं.

  3. नीचे दिए गए हर फ़ील्ड के मतलब को ध्यान में रखते हुए, नीचे दिए गए कॉन्टेंट को अपनी apple-app-site-असोसिएशन फ़ाइल में कॉपी करें:

    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appId": "$TEAM_ID.com.firebase.UniversalLinks",
            "paths": [
              "NOT /_/*",
              "/*"
            ]
          }
        ]
      }
    }
    
    • $TEAM_ID.BundleId - पूरी तरह क्वालिफ़ाइड ऐप्लिकेशन का नाम, जिसे लिंक मैनेज करने की अनुमति है
  4. होस्टिंग के लिए फ़ाइल को इंडेक्स करने के लिए, अपनी firebase.json फ़ाइल को अपडेट करें.

    "headers": [
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. अब AASA फ़ाइल की जगह पर, इन बदलावों को होस्ट करने के लिए Firebase डिप्लॉयमेंट का इस्तेमाल करें.

  6. https://your-project-domain.web.app/.well-known/app-app-site-association पर जाकर, AASA फ़ाइल की पुष्टि करें

इस चरण में, यूनिवर्सल लिंक के लिए बनाए गए नए डोमेन से मैच करने वाले सामान्य डीप लिंक यूआरएल का इस्तेमाल करके, अपने Firebase डाइनैमिक लिंक से डीप-लिंक फिर से बनाए जाएंगे.

उदाहरण के लिए, मान लें कि आपके पास नीचे दिया गया Firebase डाइनैमिक लिंक है:

डाइनैमिक लिंक का उदाहरण
लिंक का नाम Example.com पर आपका स्वागत है
डीप लिंक https://example.web.app/welcome
Android ऐप्लिकेशन com.example.android
Apple ऐप्लिकेशन com.example.ios
लंबा डाइनैमिक लिंक https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
छोटा डाइनैमिक लिंक https://example.page.link/m9Mm

इस मामले में, आपको डीप लिंक पैरामीटर को एक्सट्रैक्ट करना होगा - यानी कि https://example.web.app/welcome और अब इसका इस्तेमाल अपने ऐप्लिकेशन के लिए यूनिवर्सल लिंक पैरामीटर के रूप में करेगा.

आपको हर उस Firebase डाइनैमिक लिंक के लिए इस प्रोसेस को दोहराना होगा जिसे ऐप्लिकेशन लिंक / यूनिवर्सल लिंक का इस्तेमाल करने पर माइग्रेट करना है. साथ ही, इस्तेमाल किए गए डीप-लिंकिंग स्कीमा को कॉपी करना होगा.

उदाहरण के लिए, कृपया Firebase डाइनैमिक लिंक के छोटे लिंक, डीप लिंक पैरामीटर, और माइग्रेट किए गए डीप लिंक की वैल्यू के ये सेट देखें:

छोटा लिंक डीप लिंक पैरामीटर माइग्रेट किया गया डीप लिंक
yourapp.page.link/welcome https://example.com/welcome yourapp.web.app/welcome
yourapp.page.link/c7sn https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
yourapp.page.link/social https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1

इसके बाद, आपको नए माइग्रेट किए गए डीप लिंक के साथ पब्लिश या शेयर किए गए Firebase डाइनैमिक लिंक के सभी इंस्टेंस बदलने होंगे, ताकि उपयोगकर्ता पिछले Firebase डाइनैमिक लिंक के बजाय उन यूनिवर्सल लिंक पर क्लिक कर सकें.

डोमेन चुनने के बाद, डीप-लिंकिंग स्कीमा चुनकर और अपने Firebase डाइनैमिक लिंक को यूनिवर्सल लिंक पर माइग्रेट करें. इसके बाद, नए डीप लिंक पाने के लिए, अपने iOS ऐप्लिकेशन और ऐप्लिकेशन कोड को अपडेट करें.

हमारा सुझाव है कि डीप लिंक मैनेज करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करने के लिए, Universal लिंक के दस्तावेज़ यहां दिए गए हों. हालांकि, यहां कुछ मुख्य तरीके अपनाए गए हैं:

  1. अपना प्रोजेक्ट कॉन्फ़िगरेशन अपडेट करें, ताकि आपका ऐप्लिकेशन नए बनाए गए डोमेन से डीप लिंक मैनेज कर सके

  2. अपने ऐप्लिकेशन कोड में डीप लिंक पाएं

आपका ऐप्लिकेशन डीप लिंक मैनेज कर सके, इसके लिए अपने प्रोजेक्ट कॉन्फ़िगरेशन को अपडेट करने के लिए, आपको उस डोमेन के लिए xCode में अपने प्रोजेक्ट से एक और असोसिएट किया गया डोमेन जोड़ना होगा जिसका इस्तेमाल, अब apple-app-site-affiliate फ़ाइल होस्ट करने के लिए किया जा रहा है.

ऐसा करने के लिए ये काम करें:

  1. Xcode खोला जा रहा है
  2. फ़ाइल नेविगेटर में अपना प्रोजेक्ट चुनना
  3. अपने प्रोजेक्ट की सेटिंग के 'हस्ताक्षर और क्षमताएं' टैब पर जाना
  4. नीचे की ओर असोसिएटेड डोमेन सेक्शन पर जाएं
  5. अपने प्रोजेक्ट में अतिरिक्त डोमेन जोड़ने के लिए, "applinks:" फ़ॉर्मैट में + बटन पर क्लिक करें.

आखिर में, आने वाले डीप लिंक पाने के लिए, आपको अपना ऐप्लिकेशन कोड अपडेट करना होगा.

यह काम पूरा करने के लिए, यूनिवर्सल लिंक पर जवाब देने के लिए, पहले AppDelegate.swift फ़ाइल को अपडेट करें. इसके लिए, यह कोड जोड़ें:

func application(_ application: UIApplication, continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
  AppDelegate.showReceivedUrl(userActivity: userActivity);
  return true
}

static func showReceivedUrl(userActivity: NSUserActivity) {
  if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
    let url = userActivity.webpageURL!
    print(url.absoluteString)
}

ऊपर दिया गया कोड, यूनिवर्सल लिंक के कॉलबैक वाले तरीके को बदल देता है और अगर डीप लिंक का यूआरएल मौजूद है, तो उसे लॉग करता है.

अब हम सीन डेलिगेट क्लास से इसी showReceivedUrl तरीके को कॉल करेंगे. साथ ही, अगर उपयोगकर्ता के यूनिवर्सल लिंक पर क्लिक करने से पहले ऐप्लिकेशन पहले से खुला होता है, तो SceneDelegate में यूनिवर्सल लिंक कॉलबैक वह होगा जिसे शुरू किया जाएगा.

func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
  AppDelegate.showReceivedUrl(userActivity: userActivity)
}

आपके ऐप्लिकेशन को फ़िज़िकल डिवाइस या सिम्युलेटर पर चलाकर, अभी-अभी बनाए गए यूनिवर्सल लिंक की जांच की जा सकती है.

आपको अपने यूनिवर्सल लिंक के लिए कॉन्फ़िगर किए गए डोमेन का इस्तेमाल करके, क्लिक किया जा सकने वाला एक लिंक बनाना होगा. इसके बाद, उस लिंक पर क्लिक करना होगा, ताकि यह पक्का हो सके कि वह लिंक आपके ऐप्लिकेशन में खुलेगा और आपको ऐप्लिकेशन में सही स्क्रीन पर ले जाएगा.

स्मार्ट ऐप्लिकेशन बैनर के साथ काम करना

हमारा सुझाव है कि आप स्मार्ट ऐप्लिकेशन बैनर का इस्तेमाल करें. इससे आपके उपयोगकर्ताओं को Firebase डाइनैमिक लिंक से मिलता-जुलता अनुभव मिल सकेगा.

स्मार्ट ऐप्लिकेशन बैनर का इस्तेमाल करने से, अगर आपका ऐप्लिकेशन लोगों के डिवाइस पर पहले से इंस्टॉल नहीं है, तो उन्हें आपकी ऐप्लिकेशन लिस्टिंग के लिए ऐप स्टोर पर ले जाया जाएगा. ऐप्लिकेशन के डाउनलोड और इंस्टॉल होने के बाद, उसे अपने ऐप्लिकेशन में पास करने के लिए, आपके पास पैरामीटर को कॉन्फ़िगर करने का विकल्प भी होता है. इससे उपयोगकर्ताओं को उनका सफ़र जारी रखने में मदद मिलती है. अगर आपका ऐप्लिकेशन पहले से इंस्टॉल है, तो यह आपके ऐप्लिकेशन में एक पैरामीटर पास करेगा. इससे उपयोगकर्ता को उस स्मार्ट ऐप्लिकेशन बैनर के आधार पर सही कॉन्टेंट पर जाने में मदद मिलेगी जिस पर उसने क्लिक किया है.

जहां भी संभव हो, माइग्रेशन के आखिरी चरण में आपके पब्लिश या शेयर किए गए Firebase डाइनैमिक लिंक को यूनिवर्सल लिंक से बदलना होगा. साथ ही, आने वाले समय में भी यूनिवर्सल लिंक का इस्तेमाल जारी रखना होगा.

आपने Firebase डाइनैमिक लिंक कहां और कैसे पब्लिश किए हैं, इसके आधार पर यह चरण अलग-अलग होगा.

माइग्रेट किए जाने वाले मौजूदा Firebase डाइनैमिक लिंक को ट्रैक करने में आपकी मदद करने के लिए, हम Firebase डाइनैमिक लिंक से, शॉर्ट लिंक वाले मेटा डेटा को एक्सपोर्ट करने का तरीका बताने वाली गाइड पब्लिश करेंगे. ज़्यादा अपडेट के लिए, कृपया डाइनैमिक लिंक को बंद करने से जुड़े अक्सर पूछे जाने वाले सवालों का दस्तावेज़ देखें.