כדי לשלוט טוב יותר במיתוג של 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
מתחילות בקידומת Dynamic Link של כתובת ה-URL, 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 תציית לכלל שצוין על ידי כדור הארץ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 של כתובת ה-URL:
מגדירים את המאפיין
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 } ]