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

आप अपने 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 में एडिटर या मालिक की अनुमति होना ज़रूरी है प्रोजेक्ट.

Dynamic Links के लिए आपके वेब डोमेन का इस्तेमाल किया जा रहा है

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

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

इसलिए, नीचे दिए गए लंबी अवधि के वीडियो Dynamic Links (और ऐसे ही छोटे लिंक), इस तरह काम नहीं करेंगे लक्षित किया गया है क्योंकि link पैरामीटर के ज़रिए दर्ज किए गए URL 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 सीएलआई के नए वर्शन में अपडेट करें (6.5.0 या इसके बाद के वर्शन).

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

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

    • रीराइट सेट करके, Dynamic Links के लिए इस्तेमाल किए जाने वाले पाथ प्रीफ़िक्स के बारे में बताएं dynamicLinks वाले नियमों को true पर सेट किया गया. इन पाथ के अनुरोध मिलते हैं 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 ग्लोब से तय किया गया है.

उदाहरण के लिए, अगर आपनेDynamic Link your-domain/source-path/link-suffix लेकिन अगर आपके पास 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
    } ]