הגדר דומיין מותאם אישית עבור קישורים דינמיים

תוכל לקבל שליטה רבה יותר על המיתוג של הקישורים הדינמיים שלך על ידי שימוש בדומיין משלך במקום בתת-דומיין page.link . עם דומיינים מותאמים אישית, אתה יכול ליצור קישורים דינמיים כמו הדוגמאות הבאות:

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

הגדרת דומיין מותאם אישית דורשת הרשאת עורך או בעלים בפרויקט Firebase שלך.

שימוש בדומיין האינטרנט שלך עבור קישורים דינמיים

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

לדוגמה, אם ברצונך ליצור קישור דינמי למשאב https://example.com/my-resource (דף אינטרנט, קישור אוניברסלי או קישור לאפליקציה), אינך יכול להשתמש ב- https://example.com/ בתור קידומת כתובת האתר של קישורים דינמיים, כי פעולה זו תגרום להתייחסות אל https://example.com/my-resource כקישור דינמי. במקום זאת, עליך להשתמש בקידומת כתובת אתר עם דומיין אחר או עם קידומת נתיב שונה.

לכן, הקישורים הדינמיים הארוכים הבאים (וקישורים קצרים מקבילים) לא יפעלו כמתוכנן מכיוון שכתובות האתרים המצוינות בפרמטר link מתחילות בקידומת כתובת האתר של קישור דינמי, https://example.com/ :

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

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

  2. פתח את הדף קישורים דינמיים של מסוף Firebase.

  3. אם לא השתמשת בעבר בקישורים דינמיים, לחץ על התחל . אחרת, לחץ על הוסף קידומת כתובת אתר מהתפריט הנפתח.

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

  4. iOS בלבד : בקובץ Info.plist של פרויקט Xcode שלך, צור מפתח בשם FirebaseDynamicLinksCustomDomains והגדר אותו לקידומות URL של קישורים דינמיים של האפליקציה שלך. לדוגמה:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

הגדר דומיין מותאם אישית באופן ידני

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

כדי לעשות זאת:

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

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

  2. עדכן לגרסה העדכנית ביותר של Firebase CLI (גרסה 6.5.0 ואילך).

  3. הגדר את אתר האירוח שלך עבור קישורים דינמיים בקובץ firebase.json של הפרויקט שלך. אם לפרויקט שלך יש מספר אתרים, הקפד להגדיר את האתר המחובר לדומיין שבו ברצונך להשתמש.

    • הגדר את appAssociation ל- AUTO . עם הגדרה זו, אירוח מייצר באופן דינמי assetlinks.json ו- apple-app-site-association כאשר הם מתבקשים.

    • ציין את קידומות הנתיב שבהן ברצונך להשתמש עבור קישורים דינמיים על ידי הגדרת כללי כתיבה מחדש כאשר dynamicLinks מוגדר כ- true . בקשות לנתיבים אלה מקבלים פרוקסי לקישורים דינמיים.

      בניגוד לכללים המשכתבים נתיבים לכתובות URL, כללי שכתוב קישור דינמי אינם יכולים להכיל ביטויים רגולריים.

      אם יש לך חוקי שכתוב מרובים עבור האתר שלך, שים לב ש-Hosting מבצע את כלל השכתוב הראשון שתואם את הבקשה.

    לדוגמה:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    עם התצורה שלמעלה, אתה יכול ליצור קישורים דינמיים עם קידומות URL כמו הדוגמאות הבאות:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    אם אתה משתמש בדומיין זה רק עבור קישורים דינמיים, תוכל להשתמש בנתיב מקור של /** כדי ליצור קישורים דינמיים ללא קידומת נתיב:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    עם הכלל שלמעלה, אתה יכול ליצור קישורים דינמיים כמו הדוגמה הבאה:

    https://your-domain/link-suffix

  4. פרוס את השינויים בתצורת האירוח שלך:

    firebase deploy --only hosting

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

  5. iOS בלבד : בקובץ Info.plist של פרויקט Xcode שלך, צור מפתח בשם FirebaseDynamicLinksCustomDomains והגדר אותו לקידומות URL של קישורים דינמיים של האפליקציה שלך. לדוגמה:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

סדר עדיפות עבור קישורים דינמיים ואירוח

עבור קישורים דינמיים, שים לב במיוחד לסדר עדיפות אירוח .

  • ודא שקידומת כתובת האתר של קישורים דינמיים אינה מתנגשת עם תצורות אירוח בעדיפות גבוהה יותר (לדוגמה, לתוכן סטטי מתארח יש תמיד עדיפות על פני שכתובים).
  • בתוך התכונה rewrites , תגובת Hosting תציית לכלל שצוין על ידי גלוב source הראשון שלוכד את הנתיב המבוקש .

לדוגמה, אם אתה מגדיר קישור דינמי עבור your-domain / source-path / link-suffix אך יש לך גם תוכן סטטי your-domain / source-path /index.html , התוכן הסטטי מקבל עדיפות. משתמש קצה יראה את index.html במקום את הקישור הדינמי. באופן דומה, אם יש לך תוכן סטטי your-domain / source-path / link-suffix , משתמש הקצה יראה את התוכן הסטטי ולא את הקישור הדינמי.

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

  • הגדר את תכונת source שלך כך שתתאים לקידומת נתיב. לדוגמה, אם יש לך דומיין מותאם אישית של example.com , כלל השכתוב שלך יכול להיות:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • הגדר תת-דומיין לשימוש עבור קישורים דינמיים, ולאחר מכן הגדר את תכונת source שלך כך שתתאים לאותו תת-דומיין. לדוגמה, אם יש לך תת-דומיין של links.example.com , כלל השכתוב שלך יכול להיות:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]