כדי לשלוט טוב יותר במיתוג של 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 Link לא מתנגשות עם כתובות ה-URL של האתר. כשמגדירים את 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
אבל כתובות ה-URL הארוכות הבאות של 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בספריית הפרויקט המקומית.מעדכנים לגרסה העדכנית של ה-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 } ]