כדי לשלוט טוב יותר במיתוג של 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 שמתחילות בקידומת הזו נחשבות לכתובות 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 עם דומיין אחר או עם קידומת נתיב אחרת.
לכן, כתובות ה-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 לא סותרות את כתובות ה-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.
לאחר מכן, משלימים את הפעולות באשף ההגדרה ומציינים את הדומיין ואת קידומת הנתיב שרוצים להשתמש בהם כשמתבקשים.
קידומת של כתובת ה-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 כמו בדוגמאות הבאות:
קידומת של כתובת ה-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 תפעל לפי הכלל שצוין על ידי ה-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 } ]