איך מגדירים דומיין מותאם אישית לקישורים דינמיים

כדי לשלוט טוב יותר במיתוג של 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. כדי לעשות זאת:

  1. אם עדיין לא הגדרתם את Firebase Hosting בפרויקט, פותחים את הדף Hosting במסוף Firebase, לוחצים על תחילת העבודה ופועלים לפי הוראות ההגדרה. בשלב הזה אין צורך להשלים את השלבים שצוינו.

  2. פותחים את הדף Dynamic Links במסוף Firebase.

  3. אם לא השתמשתם ב-Dynamic Links בעבר, לוחצים על תחילת העבודה. אחרת, לוחצים על הוספת קידומת לכתובת ה-URL בתפריט הנפתח.

    לאחר מכן, משלימים את אשף ההגדרה ומציינים את הדומיין ואת הקידומת של הנתיב שבהם רוצים להשתמש כשמופיעה בקשה לעשות זאת.

  4. 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, תצטרכו להגדיר את הדומיין המותאם אישית באופן ידני.

עושים זאת כך:

  1. מחברים את הדומיין ל-Firebase Hosting אם עדיין לא עשיתם זאת.

    הגדרת הדומיין באמצעות Firebase Hosting כוללת יצירה של קובץ התצורה firebase.json בתיקיית הפרויקט המקומית.

  2. מעדכנים לגרסה האחרונה של CLI של Firebase (גרסה 6.5.0 ואילך).

  3. מגדירים את האתר 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

  4. פורסים את השינויים בהגדרות של Hosting:

    firebase deploy --only hosting

    (אופציונלי) אפשר לבדוק את תוכן firebase.json שנפרס באמצעות ה-API ל-REST של Hosting.

  5. 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
    } ]