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

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

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

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

अगर आपको माइग्रेशन के लिए, 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 Hosting का इस्तेमाल करके अपने ऐप्लिकेशन लिंक और यूनिवर्सल लिंक बनाने का तरीका बताया गया है. इससे, Firebase Dynamic Links की सुविधा के उस हिस्से को बदला जा सकता है जो Firebase Dynamic Links को नए ऐप्लिकेशन लिंक / यूनिवर्सल लिंक माइग्रेशन समाधान पर माइग्रेट करते समय काम आता है.

माइग्रेशन पूरा करने के लिए, आपको यह जानकारी देनी होगी:

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

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

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

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

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

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

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

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

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

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

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

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

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

Firebase Hosting सेट अप करना

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

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

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

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

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

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

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

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

  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 फ़ाइल में एलान किया गया applicationId है
    • sha256_cert_fingerprints - यह उस कीस्टोर फ़ाइल के SHA256 फ़िंगरप्रिंट को दिखाता है जिसका इस्तेमाल ऐप्लिकेशन पर हस्ताक्षर करने के लिए किया जाता है.

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

    इस कीस्टोर से, keytool का इस्तेमाल करके 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 CLI इंस्टॉल होना चाहिए.

    firebase deploy --only hosting
    
  6. assetlinks.json फ़ाइल की पुष्टि करने के लिए, https://your-project-domain.web.app/.well-known/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 Dynamic Link के लिए दोहराना होगा जिसे आपको ऐप्लिकेशन लिंक / यूनिवर्सल लिंक का इस्तेमाल करके माइग्रेट करना है. साथ ही, आपको डीप-लिंकिंग स्कीमा को दोहराना होगा.

उदाहरण के लिए, कृपया 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 डाइनैमिक लिंक को ऐप्लिकेशन लिंक पर माइग्रेट करने के बाद, अगला चरण अपने Android ऐप्लिकेशन और ऐप्लिकेशन कोड को अपडेट करना है, ताकि नए डीप लिंक मिल सकें.

हमारा सुझाव है कि आप डीप लिंक मैनेज करने के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगर करने के बारे में पूरी जानकारी पाने के लिए, यहां ऐप्लिकेशन लिंक का पूरा दस्तावेज़ पढ़ें. इसके अलावा, 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, wxample.web.app डोमेन से आने वाले डीप लिंक के लिए डेस्टिनेशन है. इसमें /welcome पाथ प्रीफ़िक्स भी शामिल है. ध्यान दें कि आपको android:autoVerify="true" एट्रिब्यूट भी तय करना होगा. इससे, आपके पास अपने ऐप्लिकेशन को इस तरह के लिंक के लिए डिफ़ॉल्ट हैंडलर के तौर पर सेट करने का विकल्प होता है.

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

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 Emulator में आज़माया जा सकता है.

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

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

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

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

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

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

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

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

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

  1. Firebase Hosting की रूट डायरेक्ट्री में मौजूद सार्वजनिक फ़ोल्डर में, ".well-known" फ़ोल्डर बनाएं.

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

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

    {
      "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 deploy करें.

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

इस चरण में, आपको 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 Dynamic Link के लिए दोहराना होगा जिसे आपको ऐप्लिकेशन लिंक / यूनिवर्सल लिंक का इस्तेमाल करके माइग्रेट करना है. साथ ही, आपको डीप-लिंकिंग स्कीमा को दोहराना होगा.

उदाहरण के लिए, कृपया 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 ऐप्लिकेशन और ऐप्लिकेशन कोड को अपडेट करना है, ताकि नए डीप लिंक मिल सकें.

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

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

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

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

ऐसा इन तरीकों से किया जा सकता है:

  1. Xcode खोलना
  2. फ़ाइल नेविगेटर में अपना प्रोजेक्ट चुनना
  3. अपने प्रोजेक्ट की सेटिंग के Signing & Capabilities टैब पर जाना
  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)
}

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

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

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

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

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

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

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

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

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

इस चरण को पूरा करने का तरीका, इस बात पर निर्भर करता है कि आपने Firebase डाइनैमिक लिंक कहां और कैसे पब्लिश किए हैं.

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