डाइनैमिक लिंक के लिए कस्टम डोमेन सेट अप करना

Dynamic Links सबडोमेन के बजाय अपने डोमेन का इस्तेमाल करके, Dynamic Links' ब्रैंडिंग को बेहतर तरीके से कंट्रोल किया जा सकता है.page.link कस्टम डोमेन की मदद से, Dynamic Links बनाए जा सकते हैं. जैसे, यहां दिए गए उदाहरण:

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

यूआरएल में link-suffix से पहले वाले हिस्से को यूआरएल प्रीफ़िक्स कहा जाता है. इसमें आपका कस्टम Dynamic Link डोमेन और पाथ प्रीफ़िक्स, दोनों शामिल होते हैं. Dynamic Links बनाते समय, आपको यूआरएल प्रीफ़िक्स देना होगा.

कस्टम डोमेन सेट अप करने के लिए, आपके पास Firebase प्रोजेक्ट के लिए एडिटर या मालिक की अनुमति होनी चाहिए.

Firebase Hosting

Dynamic Links के लिए अपने वेब डोमेन का इस्तेमाल करना

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

उदाहरण के लिए, अगर आपको संसाधन https://example.com/my-resource (कोई वेब पेज, यूनिवर्सल लिंक या ऐप्लिकेशन लिंक) के लिए Dynamic Link बनाना है, तो Dynamic Links यूआरएल प्रीफ़िक्स के तौर पर https://example.com/ का इस्तेमाल नहीं किया जा सकता. ऐसा इसलिए, क्योंकि इससे https://example.com/my-resource को Dynamic Link के तौर पर माना जाएगा. इसके बजाय, आपको किसी दूसरे डोमेन या पाथ प्रीफ़िक्स के साथ यूआरएल प्रीफ़िक्स का इस्तेमाल करना होगा.

इसलिए, यहां दिए गए लंबे फ़ॉर्म वाले Dynamic Links (और इनके बराबर के छोटे लिंक) काम नहीं करेंगे. ऐसा इसलिए, क्योंकि link पैरामीटर से तय किए गए यूआरएल, Dynamic Link यूआरएल प्रीफ़िक्स https://example.com/ से शुरू होते हैं:

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

हालांकि, यहां दिए गए लंबी अवधि वाले Dynamic Links (और इनसे मिलते-जुलते छोटे लिंक) काम कर सकते हैं. ऐसा इसलिए, क्योंकि यूआरएल प्रीफ़िक्स, link यूआरएल से मेल नहीं खाते:

 https://link.example.com/?link=https://example.com/my-resource
 https://example.com/links/?link=https://example.com/my-resource
 https://ex.amp.le/?link=https://example.com/my-resource

Firebase कंसोल में कस्टम डोमेन सेट अप करना

आम तौर पर, Firebase कंसोल में कस्टम डोमेन को पूरी तरह से सेट अप किया जा सकता है. इसके लिए:

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

  2. Firebase कंसोल का Dynamic Links पेज खोलें.

  3. अगर आपने Dynamic Links का इस्तेमाल पहले कभी नहीं किया है, तो शुरू करें पर क्लिक करें. इसके अलावा, ड्रॉप-डाउन मेन्यू में जाकर यूआरएल प्रीफ़िक्स जोड़ें पर क्लिक करें.

    इसके बाद, सेट अप विज़र्ड पूरा करें. इसमें, आपको उस डोमेन और पाथ प्रीफ़िक्स की जानकारी देनी होगी जिसका इस्तेमाल करना है.

  4. सिर्फ़ iOS के लिए: अपने Xcode प्रोजेक्ट की Info.plist फ़ाइल में, FirebaseDynamicLinksCustomDomains नाम की एक कुंजी बनाएं और इसे अपने ऐप्लिकेशन के Dynamic Links यूआरएल प्रीफ़िक्स पर सेट करें. उदाहरण के लिए:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

कस्टम डोमेन को मैन्युअल तरीके से सेट अप करना

कुछ स्थितियों में, आपको कस्टम डोमेन को मैन्युअल तरीके से सेट अप करना होगा. जैसे, अगर आपने Dynamic Links के लिए पहले से ही कोई कस्टम डोमेन सेट अप किया हुआ है और आपको कोई दूसरा डोमेन जोड़ना है. इसके अलावा, अगर आपको कोई ऐसा डोमेन जोड़ना है जो पहले से ही Hosting साइट से कनेक्ट है, तो भी आपको कस्टम डोमेन को मैन्युअल तरीके से सेट अप करना होगा.

इसके लिए:

  1. अगर आपने अब तक अपने डोमेन को Firebase Hosting से कनेक्ट नहीं किया है, तो उसे कनेक्ट करें.

    Firebase Hosting के साथ अपना डोमेन सेट अप करने के लिए, आपको अपनी लोकल प्रोजेक्ट डायरेक्ट्री में कॉन्फ़िगरेशन फ़ाइल firebase.json बनानी होगी.

  2. Firebase सीएलआई को नए वर्शन (v6.5.0 या इसके बाद के वर्शन) पर अपडेट करें.

  3. अपने प्रोजेक्ट की firebase.json फ़ाइल में, अपनी Hosting साइट को Dynamic Links के लिए कॉन्फ़िगर करें. अगर आपके प्रोजेक्ट में एक से ज़्यादा साइटें हैं, तो पक्का करें कि आपने उस साइट को कॉन्फ़िगर किया हो जो उस डोमेन से कनेक्ट है जिसका आपको इस्तेमाल करना है.

    • appAssociation को AUTO पर सेट करें. इस सेटिंग की मदद से, Hosting अनुरोध किए जाने पर, assetlinks.json और apple-app-site-association फ़ाइलें डाइनैमिक रूप से जनरेट करता है.

    • Dynamic Links के लिए, उन पाथ प्रीफ़िक्स के बारे में बताएं जिनका आपको इस्तेमाल करना है. इसके लिए, true पर सेट किए गए dynamicLinks के साथ फिर से लिखने के नियम सेट करें. इन पाथ के लिए किए गए अनुरोधों को Dynamic Links पर प्रॉक्सी किया जाता है.

      यूआरएल के पाथ को फिर से लिखने वाले नियमों के उलट, Dynamic Link फिर से लिखने वाले नियमों में रेगुलर एक्सप्रेशन शामिल नहीं किए जा सकते.

      अगर आपकी साइट के लिए फिर से लिखने के कई नियम हैं, तो ध्यान रखें कि Hosting अनुरोध से मेल खाने वाले पहले नियम को लागू करता है.

    उदाहरण के लिए:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    ऊपर दिए गए कॉन्फ़िगरेशन की मदद से, Dynamic Links बनाया जा सकता है. इसके लिए, यूआरएल प्रीफ़िक्स का इस्तेमाल किया जा सकता है. जैसे, यहां दिए गए उदाहरण:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    अगर आपको इस डोमेन का इस्तेमाल सिर्फ़ Dynamic Links के लिए करना है, तो /** का सोर्स पाथ इस्तेमाल करके, बिना पाथ प्रीफ़िक्स वाला Dynamic Links बनाया जा सकता है:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    ऊपर दिए गए नियम के हिसाब से, इस उदाहरण की तरह Dynamic Links बनाया जा सकता है:

    https://your-domain/link-suffix

  4. Hosting कॉन्फ़िगरेशन में किए गए बदलावों को डिप्लॉय करें:

    firebase deploy --only hosting

    (ज़रूरी नहीं) डिप्लॉय किए गए firebase.json कॉन्टेंट की जांच करने के लिए, Hosting REST API का इस्तेमाल किया जा सकता है.

  5. सिर्फ़ iOS के लिए: अपने Xcode प्रोजेक्ट की Info.plist फ़ाइल में, FirebaseDynamicLinksCustomDomains नाम की एक कुंजी बनाएं और इसे अपने ऐप्लिकेशन के Dynamic Links यूआरएल प्रीफ़िक्स पर सेट करें. उदाहरण के लिए:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Dynamic Links और Hosting के लिए प्राथमिकता का क्रम

Dynamic Links के लिए, होस्टिंग के प्राथमिकता क्रम के बारे में खास तौर पर ध्यान रखें.

  • पक्का करें कि आपके Dynamic Links यूआरएल प्रीफ़िक्स में, ज़्यादा प्राथमिकता वाले होस्टिंग कॉन्फ़िगरेशन के साथ कोई टकराव न हो. उदाहरण के लिए, होस्ट किए गए स्टैटिक कॉन्टेंट को हमेशा फिर से लिखे गए कॉन्टेंट पर प्राथमिकता मिलती है.
  • rewrites एट्रिब्यूट में, Hosting रिस्पॉन्स, पहले source ग्लोब में बताए गए नियम का पालन करेगा, जो अनुरोध किए गए पाथ को कैप्चर करता है.

उदाहरण के लिए, अगर आपने your-domain/source-path/link-suffix के लिए Dynamic Link सेट अप किया है, लेकिन आपके पास your-domain/source-path/index.html पर स्टैटिक कॉन्टेंट भी है, तो स्टैटिक कॉन्टेंट को प्राथमिकता दी जाएगी. असली उपयोगकर्ता को index.html दिखेगा, न कि Dynamic Link. इसी तरह, अगर आपके पास your-domain/source-path/link-suffix पर स्टैटिक कॉन्टेंट है, तो असली उपयोगकर्ता को Dynamic Link के बजाय स्टैटिक कॉन्टेंट दिखेगा.

अगर आपको Dynamic Links और Hosting, दोनों के लिए एक ही ब्रैंडिंग का इस्तेमाल करना है, तो Dynamic Links के यूआरएल प्रीफ़िक्स के लिए इनमें से कोई एक विकल्प चुनें:

  • पाथ प्रीफ़िक्स से मेल खाने के लिए, source एट्रिब्यूट की वैल्यू सेट करें. उदाहरण के लिए, अगर आपके पास example.com का कस्टम डोमेन है, तो आपका फिर से लिखने का नियम यह हो सकता है:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Dynamic Links के लिए इस्तेमाल किया जाने वाला सबडोमेन सेट अप करें. इसके बाद, source एट्रिब्यूट की वैल्यू को उस सबडोमेन से मैच होने के लिए सेट करें. उदाहरण के लिए, अगर आपके पास links.example.com का कोई सबडोमेन है, तो फिर से लिखने का नियम यह हो सकता है:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]