כדי לשלוט טוב יותר במיתוג של 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 וגם קידומת של נתיב. צריך צריך לספק קידומת של כתובת URL כשיוצרים את Dynamic Links.
כדי להגדיר דומיין מותאם אישית, צריך הרשאת עריכה או בעלים ב-Firebase פרויקט.
שימוש בדומיין האינטרנט עבור Dynamic Links
אפשר להשתמש באותו דומיין גם ל-Dynamic Links וגם לדפי האינטרנט, Universal קישורים וקישורים לאפליקציות. אבל אם כן, צריך לטפל בכתובות ה-URL ב-Dynamic Link אינן מתנגשות עם כתובות האתרים שלכם. כשמגדירים שימוש ב-Dynamic Links בקידומת מסוימת של כתובת URL, כל כתובות ה-URL שמתחילות בקידומת הזו יטופלו Dynamic Links, לכן אי אפשר להשתמש בכתובות URL עם הקידומת הזו כדי להפנות לאתר מתארח רגיל תוכן.
לדוגמה, אם רוצים ליצור 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
. הבקשות שנשלחות לנתיבים האלה מקבלות שרת proxy אל 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
שנפרס באמצעות 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 } ]