כדי לשלוט טוב יותר במיתוג של 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
החלק בכתובת ה-URL שמופיע לפני link-suffix נקרא קידומת של כתובת URL, והוא מכיל גם את הדומיין המותאם אישית Dynamic Link וגם קידומת נתיב. כשיוצרים את Dynamic Links, צריך לציין קידומת של כתובת URL.
כדי להגדיר דומיין מותאם אישית, צריך הרשאת עריכה או הרשאת בעלים בפרויקט Firebase.
שימוש בדומיין האינטרנט שלכם ל-Dynamic Links
אפשר להשתמש באותו דומיין ל-Dynamic Links ולדפי האינטרנט, לקישורים אוניברסליים ולקישורי אפליקציות, אבל אם עושים זאת, צריך לוודא שכתובות ה-URL של Dynamic Links לא יוצרות התנגשויות עם כתובות ה-URL של האינטרנט. כשמגדירים את Dynamic Links לשימוש בתחילית ספציפית של כתובת URL, כל כתובות ה-URL שמתחילות בתחילית הזו מטופלות כ-Dynamic Links, כך שלא ניתן להשתמש בכתובות URL עם התחילית הזו כדי להפנות לתוכן מתארח רגיל.Dynamic Link
לדוגמה, אם רוצים ליצור Dynamic Link למשאב https://example.com/my-resource
(דף אינטרנט, קישור אוניברסלי או קישור לאפליקציה), אי אפשר להשתמש ב-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 לא נמצאות בקונפליקט עם כתובות ה-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, לוחצים על תחילת העבודה ופועלים לפי הוראות ההגדרה. בשלב הזה אין צורך להשלים את השלבים שצוינו.
פותחים את הדף 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
בתיקיית הפרויקט המקומית.מעדכנים לגרסה האחרונה של CLI של Firebase (גרסה 6.5.0 ואילך).
מגדירים את האתר Hosting ל-Dynamic Links בקובץ
firebase.json
של הפרויקט. אם יש בפרויקט כמה אתרים, חשוב להגדיר את האתר שמקושר לדומיין שבו רוצים להשתמש.מגדירים את
appAssociation
להיותAUTO
. כשמגדירים את ההגדרה הזו, Hosting יוצר באופן דינמי את הקבציםassetlinks.json
ו-apple-app-site-association
כשהם נדרשים.כדי לציין את תחיליות הנתיב שבהן רוצים להשתמש עבור Dynamic Links, מגדירים כללי כתיבה מחדש עם
dynamicLinks
שמוגדר כ-true
. בקשות לנתיב האלה מועברות ל-Dynamic Links דרך שרת proxy.בניגוד לכללים שמשכתבים נתיבים לכתובות 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
שנפרס באמצעות ה-API ל-REST של Hosting.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 תציית לכלל שמוגדר על ידי ביטוי ה-glob הראשון של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, כדאי לשקול את אחת מהאפשרויות הבאות לתחילית של כתובת ה-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 } ]