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 HostingDynamic 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 कंसोल में कस्टम डोमेन को पूरी तरह से सेट अप किया जा सकता है. इसके लिए:
अगर आपने अपने प्रोजेक्ट के लिए Firebase Hosting सेट अप नहीं किया है, तो Firebase कंसोल का Hosting पेज खोलें. इसके बाद, शुरू करें पर क्लिक करें और सेटअप से जुड़े निर्देशों का पालन करें. फ़िलहाल, आपको बताए गए चरणों को पूरा करने की ज़रूरत नहीं है.
Firebase कंसोल का Dynamic Links पेज खोलें.
अगर आपने Dynamic Links का इस्तेमाल पहले कभी नहीं किया है, तो शुरू करें पर क्लिक करें. इसके अलावा, ड्रॉप-डाउन मेन्यू में जाकर यूआरएल प्रीफ़िक्स जोड़ें पर क्लिक करें.
इसके बाद, सेट अप विज़र्ड पूरा करें. इसमें, आपको उस डोमेन और पाथ प्रीफ़िक्स की जानकारी देनी होगी जिसका इस्तेमाल करना है.
सिर्फ़ 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 साइट से कनेक्ट है, तो भी आपको कस्टम डोमेन को मैन्युअल तरीके से सेट अप करना होगा.
इसके लिए:
अगर आपने अब तक अपने डोमेन को Firebase Hosting से कनेक्ट नहीं किया है, तो उसे कनेक्ट करें.
Firebase Hosting के साथ अपना डोमेन सेट अप करने के लिए, आपको अपनी लोकल प्रोजेक्ट डायरेक्ट्री में कॉन्फ़िगरेशन फ़ाइल
firebase.json
बनानी होगी.Firebase सीएलआई को नए वर्शन (v6.5.0 या इसके बाद के वर्शन) पर अपडेट करें.
अपने प्रोजेक्ट की
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
Hosting कॉन्फ़िगरेशन में किए गए बदलावों को डिप्लॉय करें:
firebase deploy --only hosting
(ज़रूरी नहीं) डिप्लॉय किए गए
firebase.json
कॉन्टेंट की जांच करने के लिए, Hosting REST API का इस्तेमाल किया जा सकता है.सिर्फ़ 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 } ]