כדי לשלוט טוב יותר במיתוג של 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 } ]