شما می توانید با استفاده از دامنه خود به جای ساب دامنه page.link
، کنترل بیشتری بر نام تجاری Dynamic Links خود داشته باشید. با دامنه های سفارشی، می توانید 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
بخشی از URL قبل از link-suffix پیشوند URL نامیده می شود و شامل دامنه Dynamic Link سفارشی شما و پیشوند مسیر است. هنگام ایجاد Dynamic Links ، باید یک پیشوند URL ارائه دهید.
راه اندازی یک دامنه سفارشی به مجوز ویرایشگر یا مالک در پروژه Firebase شما نیاز دارد.
استفاده از دامنه وب خود برای Dynamic Links
میتوانید از همان دامنه برای Dynamic Links و صفحات وب، پیوندهای جهانی و پیوندهای برنامه خود استفاده کنید، اما اگر این کار را انجام میدهید، باید مراقب باشید که URLهای Dynamic Link با URLهای وب شما مغایرت نداشته باشند. وقتی Dynamic Links برای استفاده از یک پیشوند URL خاص پیکربندی میکنید، همه نشانیهای اینترنتی که با آن پیشوند شروع میشوند به عنوان Dynamic Links تلقی میشوند، بنابراین نمیتوانید از نشانیهای وب با آن پیشوند برای اشاره به محتوای میزبان معمولی استفاده کنید.
به عنوان مثال، اگر می خواهید یک Dynamic Link به منبع https://example.com/my-resource
(یک صفحه وب، پیوند جهانی یا پیوند برنامه) ایجاد کنید، نمی توانید از https://example.com/
استفاده کنید. https://example.com/
به عنوان پیشوند URL Dynamic Links ، زیرا انجام این کار باعث می شود https://example.com/my-resource
به عنوان یک Dynamic Link در نظر گرفته شود. در عوض، باید از یک پیشوند URL با دامنه یا پیشوند مسیر متفاوت استفاده کنید.
بنابراین، Dynamic Links فرم طولانی زیر (و پیوندهای کوتاه معادل) آنطور که در نظر گرفته شده است کار نمی کنند زیرا URL های مشخص شده توسط پارامتر 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 فرم طولانی زیر (و پیوندهای کوتاه معادل) می توانند کار کنند، زیرا پیشوندهای URL با URL های 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 برای پروژه خود راهاندازی نکردهاید، صفحه Hosting کنسول Firebase را باز کنید، روی Get Started کلیک کنید و روی دستورالعملهای راهاندازی کلیک کنید. در این زمان لازم نیست مراحل مشخص شده را کامل کنید.
صفحه Dynamic Links کنسول Firebase را باز کنید.
اگر قبلاً Dynamic Links استفاده نکردهاید، روی شروع به کار کلیک کنید. در غیر این صورت، از منوی کشویی روی افزودن پیشوند URL کلیک کنید.
سپس، جادوگر راهاندازی را تکمیل کنید و دامنه و پیشوند مسیری را که میخواهید در صورت درخواست استفاده کنید، مشخص کنید.
فقط iOS : در فایل
Info.plist
پروژه Xcode خود، کلیدی به نامFirebaseDynamicLinksCustomDomains
ایجاد کنید و آن را روی پیشوندهای URL 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 CLI (نسخه 6.5.0 یا جدیدتر) به روز کنید .
سایت Hosting خود را برای Dynamic Links در فایل
firebase.json
پروژه خود پیکربندی کنید. اگر پروژه شما دارای چندین سایت است، حتما سایت متصل به دامنه مورد نظر خود را پیکربندی کنید.appAssociation
رویAUTO
تنظیم کنید. با این تنظیم، Hosting به صورت پویا فایلهایassetlinks.json
وapple-app-site-association
را در صورت درخواست ایجاد میکند.پیشوندهای مسیری را که می خواهید برای Dynamic Links استفاده کنید، با تنظیم قوانین بازنویسی با
dynamicLinks
که رویtrue
تنظیم شده اند، مشخص کنید. درخواستهای این مسیرها به Dynamic Links پروکسی میشوند.برخلاف قوانینی که مسیرهای URL را بازنویسی میکنند، قوانین بازنویسی Dynamic Link نمیتوانند شامل عبارات منظم باشند.
اگر چندین قانون بازنویسی برای سایت خود دارید، توجه داشته باشید که Hosting اولین قانون بازنویسی را که با درخواست مطابقت دارد اجرا می کند.
به عنوان مثال:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
با پیکربندی بالا، میتوانید Dynamic Links با پیشوندهای URL مانند مثالهای زیر ایجاد کنید:
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 : در فایل
Info.plist
پروژه Xcode خود، کلیدی به نامFirebaseDynamicLinksCustomDomains
ایجاد کنید و آن را روی پیشوندهای URL 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 ، به ویژه از ترتیب اولویت میزبانی آگاه باشید.
- اطمینان حاصل کنید که پیشوند URL Dynamic Links با تنظیمات میزبانی با اولویت بالاتر تضاد نداشته باشد (به عنوان مثال، محتوای ثابت میزبانی شده همیشه بر بازنویسی ها اولویت دارد).
- در صفت
rewrites
، پاسخ Hosting از قانون مشخص شده توسط اولین globsource
که مسیر درخواستی را ثبت میکند، تبعیت میکند.
به عنوان مثال، اگر یک 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 استفاده کنید، یکی از گزینه های زیر را برای پیشوند URL 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 } ]