Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

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

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

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

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

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