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

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

החלק של כתובת האתר לפני link-suffix נקרא קידומת URL, והוא מכיל שני תחום קישור דינמי המותאם אישית ושל קידומת נתיב. יהיה עליך לספק קידומת URL בעת יצירת קישורים דינמיים.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

לשם כך:

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

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

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

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

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

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

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

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

    לדוגמה:

    "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 תוכן באמצעות API REST אירוח .

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

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

צו עדיפות לקישורים דינמיים ואירוח

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

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

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

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

  • גדר שלך 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
    } ]