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

यह माइग्रेशन गाइड ऐप लिंक और यूनिवर्सल लिंक का उपयोग करने पर केंद्रित है, वैकल्पिक रूप से आपकी ऐप-साइट एसोसिएशन फ़ाइलों को होस्ट करने के लिए फायरबेस होस्टिंग का उपयोग करता है।

यह माइग्रेशन निम्नलिखित फायरबेस डायनेमिक लिंक सुविधाओं को प्रतिस्थापित करता है:

विशेषता फायरबेस डायनेमिक लिंक ऐप लिंक/यूनिवर्सल लिंक
एक लिंक क्लिक से उपयोगकर्ताओं को उनके डिवाइस के लिए सही स्टोर पर ले जाएं
विलंबित डीप लिंक का उपयोग करके अपने ऐप को डाउनलोड और इंस्टॉल करने के बाद उपयोगकर्ताओं को यात्रा जारी रखने की सुविधा प्रदान करें
अपने ऐप में डीप-लिंक्ड सामग्री का उपयोग करके उपयोगकर्ताओं को प्रासंगिक अनुभव प्रदान करें (जब पहले से इंस्टॉल हो)
डायनामिक लिंक क्लिक इवेंट से संबंधित विश्लेषणात्मक डेटा प्रदान करें
लघु लिंक यूआरएल बनाने की क्षमता प्रदान करें

यदि आपको अपने माइग्रेशन के लिए अन्य फायरबेस डायनेमिक लिंक सुविधाओं की आवश्यकता बनी रहती है जो इस गाइड में समर्थित नहीं हैं, तो डायनेमिक लिंक डिप्रेशन FAQ दस्तावेज़ में अन्य माइग्रेशन परिदृश्य देखें।

मान लीजिए आपके पास एक फायरबेस डायनेमिक लिंक है जो इस तरह दिखता है:

डायनामिक लिंक उदाहरण
लिंक नाम example.com में आपका स्वागत है
गहरा लिंक https://example.web.app/welcome
एंड्रॉइड ऐप com.example.android
एप्पल ऐप 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.page.link/m9Mm

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

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

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

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

हालाँकि, ऐप लिंक / यूनिवर्सल लिंक डीप लिंक आपके उपयोगकर्ताओं के लिए निम्नलिखित व्यवहार प्रदान नहीं करेगा (जो कि फायरबेस डायनेमिक लिंक्स ने पहले किया था):

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

उपरोक्त तालिका में बताए गए फायरबेस डायनेमिक लिंक की तुलना में इन ऐप लिंक/यूनिवर्सल लिंक के व्यवहार और कार्यक्षमता में अंतर पर ध्यान दें।

शुरू करने से पहले

आपके ऐप के पहले से ही इंस्टॉल होने के बाद डीप-लिंकिंग कार्यक्षमता प्रदान करने के लिए फायरबेस डायनेमिक लिंक अपने स्वयं के अंतर्निहित कार्यान्वयन में ऐप लिंक (एंड्रॉइड पर) और यूनिवर्सल लिंक (आईओएस पर) का उपयोग करता है।

यह मार्गदर्शिका आपके फायरबेस डायनेमिक लिंक को नए ऐप लिंक / यूनिवर्सल लिंक माइग्रेशन समाधान में माइग्रेट करते समय फायरबेस डायनेमिक लिंक द्वारा प्रदान की गई कार्यक्षमता के उस हिस्से को बदलने के लिए फायरबेस होस्टिंग का उपयोग करके अपने स्वयं के ऐप लिंक और यूनिवर्सल लिंक बनाने के तरीके के बारे में बताती है।

अपना माइग्रेशन पूरा करने के लिए आपको निम्नलिखित जानकारी की आवश्यकता होगी:

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

आप अपने मौजूदा लिंक मेटाडेटा को निर्यात करने और ऊपर सूचीबद्ध जानकारी प्राप्त करने के लिए एक्सपोर्ट डायनेमिक लिंक मेटाडेटा गाइड का उपयोग कर सकते हैं।

प्रवासन चरणों का अवलोकन

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

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

  3. अपने फायरबेस डायनेमिक लिंक्स में प्रयुक्त डीप-लिंक स्कीमा से मेल खाते हुए नए ऐप लिंक/यूनिवर्सल लिंक बनाएं।

  4. डीप-लिंक प्राप्त करने के लिए अपने एंड्रॉइड/आईओएस ऐप्स और एप्लिकेशन कोड को अपडेट करें।

  5. आपके ऐप लिंक/यूनिवर्सल लिंक एकीकरण का परीक्षण।

  6. अपने प्रकाशित या साझा किए गए फायरबेस डायनेमिक लिंक को ऐप लिंक और यूनिवर्सल लिंक से बदलें।

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

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

पहला कदम एक डोमेन चुनना है जिसे आप अपने ऐप लिंक/यूनिवर्सल लिंक के लिए उपयोग करना चाहेंगे। यह वह डोमेन होगा जिसका उपयोग उन नए लिंक के लिए किया जाएगा जिन्हें आप अपने उपयोगकर्ताओं के साथ साझा करेंगे।

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

फायरबेस होस्टिंग सेट करें

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

जब तक आप अपना फायरबेस होस्टिंग इंस्टेंस सेट करना पूरा कर लेंगे, तब तक आपके पास your-project-domain .web.app के समान एक डोमेन होगा, या यदि आप चाहें तो एक कस्टम डोमेन होगा

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

Assetlinks.json फ़ाइल बनाने और होस्ट करने के चरण

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

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

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

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

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

    [{
      "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 फ़ाइल में घोषित एप्लिकेशनआईडी को संदर्भित करता है
    • sha256_cert_fingerprints - कीस्टोर फ़ाइल के SHA256 फ़िंगरप्रिंट को संदर्भित करता है जिसका उपयोग आप एप्लिकेशन पर हस्ताक्षर करने के लिए करते हैं।

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

    इस कीस्टोर से, आप कीटूल का उपयोग करके SHA256 मान प्राप्त कर सकते हैं।

    इस चरण को पूरा करने के बारे में अधिक निर्देशों के लिए ऐप लिंक दस्तावेज़ के इस अनुभाग को देखें।

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

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

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

    ध्यान दें कि उपरोक्त परिनियोजन आदेश को चलाने के लिए आपको फायरबेस सीएलआई स्थापित करना होगा।

    firebase deploy --only hosting
    
  6. https:// your-project-domain .web.app/.well-known/assetlinks.json पर जाकर एसेटलिंक्स.जेसन फ़ाइल को सत्यापित करें।

इस चरण में, आप अपने ऐप लिंक के लिए बनाए गए नए डोमेन से मेल खाने वाले नियमित डीप-लिंक यूआरएल का उपयोग करके अपने फायरबेस डायनेमिक लिंक से डीप-लिंक को फिर से बनाएंगे।

उदाहरण के लिए, मान लें कि आपके पास निम्नलिखित फायरबेस डायनेमिक लिंक है:

डायनामिक लिंक उदाहरण
लिंक नाम example.com में आपका स्वागत है
गहरा लिंक https://example.web.app/welcome
एंड्रॉइड ऐप com.example.android
एप्पल ऐप 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 और अब इसे अपने ऐप के लिए ऐप लिंक पैरामीटर के रूप में उपयोग करेंगे।

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

उदाहरण के लिए, कृपया फायरबेस डायनेमिक लिंक शॉर्ट-लिंक, डीप लिंक पैरामीटर और माइग्रेट किए गए डीप लिंक मानों का निम्नलिखित सेट देखें:

छोटी कड़ी डीप लिंक पैरामीटर माइग्रेट किया गया गहरा लिंक
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

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

एक डोमेन चुनने, एक डीप-लिंकिंग स्कीम चुनने और अपने फायरबेस डायनेमिक लिंक को ऐप लिंक में माइग्रेट करने के बाद अगला कदम नए डीप लिंक प्राप्त करने के लिए अपने एंड्रॉइड ऐप और एप्लिकेशन कोड को अपडेट करना है।

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

  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 डोमेन से डीप लिंक को संभालने के लिए गंतव्य है और इसमें /स्वागत पथ उपसर्ग शामिल है। ध्यान दें कि आपको android:autoVerify='true' विशेषता निर्दिष्ट करने की भी आवश्यकता होगी, जो आपको इस दिए गए प्रकार के लिंक के लिए अपने ऐप को डिफ़ॉल्ट हैंडलर के रूप में नामित करने की अनुमति देता है।

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

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()
}

आप अपने ऐप को भौतिक डिवाइस पर या एंड्रॉइड एमुलेटर में चलाकर अपने द्वारा बनाए गए ऐप लिंक का परीक्षण कर सकते हैं।

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

वैकल्पिक रूप से आप एंड्रॉइड स्टूडियो में ऐप लिंक असिस्टेंट का उपयोग करके अपने ऐप लिंक एकीकरण का परीक्षण भी कर सकते हैं, या आपके द्वारा कॉन्फ़िगर किए गए ऐप लिंक यूआरएल के लिए निम्न कमांड का उपयोग करके यह सुनिश्चित कर सकते हैं कि यह मिलान गतिविधि को सही ढंग से लॉन्च करता है:

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

आपके माइग्रेशन का अंतिम चरण आपके प्रकाशित या साझा फायरबेस डायनेमिक लिंक को जहां भी संभव हो ऐप लिंक से बदलना होगा, और आगे भी ऐप लिंक का उपयोग जारी रखना होगा।

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

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

ऐप्पल-ऐप-साइट-एसोसिएशन फ़ाइल बनाने और होस्ट करने के चरण

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

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

  1. अपने फायरबेस होस्टिंग रूट डायरेक्टरी में सार्वजनिक फ़ोल्डर के अंतर्गत " .सुप्रसिद्ध " फ़ोल्डर बनाएं।

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

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

    {
      "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 फ़ाइल मौजूद है, तो परिवर्तनों को होस्ट करने के लिए फ़ायरबेस परिनियोजन करें।

  6. https:// your-project-domain .web.app/.well-known/app-app-site-association पर जाकर AASA फ़ाइल को सत्यापित करें

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

उदाहरण के लिए, मान लें कि आपके पास निम्नलिखित फायरबेस डायनेमिक लिंक है:

डायनामिक लिंक उदाहरण
लिंक नाम example.com में आपका स्वागत है
गहरा लिंक https://example.web.app/welcome
एंड्रॉइड ऐप com.example.android
एप्पल ऐप 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 निकालेंगे और अब इसे अपने ऐप के लिए यूनिवर्सल लिंक पैरामीटर के रूप में उपयोग करेंगे।

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

उदाहरण के लिए, कृपया फायरबेस डायनेमिक लिंक शॉर्ट-लिंक, डीप लिंक पैरामीटर और माइग्रेट किए गए डीप लिंक मानों का निम्नलिखित सेट देखें:

छोटी कड़ी डीप लिंक पैरामीटर माइग्रेट किया गया गहरा लिंक
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

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

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

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

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

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

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

यह इसके द्वारा किया जा सकता है:

  1. एक्सकोड खोलना
  2. फ़ाइल नेविगेटर में अपने प्रोजेक्ट का चयन करना
  3. अपनी परियोजना सेटिंग्स के हस्ताक्षर और क्षमताएं टैब पर नेविगेट करना
  4. एसोसिएटेड डोमेन अनुभाग पर नीचे जाएँ
  5. अपने प्रोजेक्ट में "एपलिंक्स:" प्रारूप में अतिरिक्त डोमेन जोड़ने के लिए + बटन पर क्लिक करें। ".

अंत में, आने वाले डीप लिंक प्राप्त करने में सक्षम होने के लिए आपको अपना एप्लिकेशन कोड अपडेट करना होगा।

इसे पूरा करने के लिए, पहले निम्नलिखित कोड जोड़कर यूनिवर्सल लिंक पर प्रतिक्रिया देने के लिए 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)
}

आप अपने ऐप को किसी भौतिक डिवाइस या सिम्युलेटर पर चलाकर अभी बनाए गए यूनिवर्सल लिंक का परीक्षण कर सकते हैं।

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

स्मार्ट ऐप बैनर का समर्थन

हम आपके उपयोगकर्ताओं को फायरबेस डायनेमिक लिंक के समान अनुभव प्रदान करने के तरीके के रूप में स्मार्ट ऐप बैनर का उपयोग करने की दृढ़ता से अनुशंसा करते हैं।

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

आपके माइग्रेशन का अंतिम चरण आपके प्रकाशित या साझा फायरबेस डायनेमिक लिंक को जहां भी संभव हो यूनिवर्सल लिंक से बदलना होगा, और आगे भी यूनिवर्सल लिंक का उपयोग जारी रखना होगा।

इस चरण को पूरा करना इस बात पर निर्भर करेगा कि आपने अपना फायरबेस डायनेमिक लिंक कहां और कैसे प्रकाशित किया है।

माइग्रेट किए जाने वाले मौजूदा फायरबेस डायनेमिक लिंक को ट्रैक करने में आपकी मदद के लिए, हम फायरबेस डायनेमिक लिंक से आपके शॉर्ट-लिंक मेटा डेटा को कैसे निर्यात करें, इस पर एक गाइड प्रकाशित करेंगे। अधिक अपडेट के लिए कृपया हमारे डायनेमिक लिंक्स डिप्रेशन FAQ दस्तावेज़ को दोबारा जांचें।