ตั้งค่าโดเมนที่กำหนดเองสำหรับลิงก์แบบไดนามิก

คุณจะควบคุม 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 ที่กำหนดเองและคำนำหน้าเส้นทาง คุณจะต้องทำดังนี้ ระบุคำนำหน้า URL เมื่อคุณสร้าง Dynamic Links

การตั้งค่าโดเมนที่กำหนดเองต้องมีสิทธิ์ผู้แก้ไขหรือเจ้าของใน Firebase

กำลังใช้โดเมนเว็บของคุณสำหรับ Dynamic Links

คุณใช้โดเมนเดียวกันสำหรับ Dynamic Links และหน้าเว็บได้ ซึ่งก็คือ Universal ลิงก์และลิงก์แอป แต่หากคุณใส่ลิงก์แล้ว คุณต้องตรวจสอบ URL ของ Dynamic Link ด้วย ไม่ขัดแย้งกับ URL ของเว็บของคุณ เมื่อคุณกำหนดค่า Dynamic Links ให้ใช้ คำนำหน้า URL เฉพาะ URL ทั้งหมดที่ขึ้นต้นด้วยคำนำหน้านั้นจะถือเป็น Dynamic Links ดังนั้นคุณจึงไม่สามารถใช้ URL ที่มีคำนำหน้าเพื่อชี้ไปยังโฮสต์ปกติ เนื้อหา

เช่น ถ้าต้องการสร้าง Dynamic Link ในทรัพยากร https://example.com/my-resource (หน้าเว็บ, Universal Link หรือ App Link) ไม่สามารถใช้ 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 ไม่ขัดแย้งกับ 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. อัปเดต Firebase CLI เป็นเวอร์ชันล่าสุด (v6.5.0 หรือใหม่กว่า)

  3. กำหนดค่าเว็บไซต์ Hosting สำหรับ Dynamic Links ใน firebase.json ไฟล์ หากโปรเจ็กต์มีหลายเว็บไซต์ ให้ตรวจสอบว่า กำหนดค่าเว็บไซต์ที่เชื่อมต่อกับโดเมนที่คุณต้องการใช้

    • ตั้งค่า appAssociation เป็น AUTO เมื่อใช้การตั้งค่านี้ Hosting สร้าง assetlinks.json และ apple-app-site-association แบบไดนามิก ไฟล์เมื่อมีการขอ

    • ระบุคำนำหน้าเส้นทางที่ต้องการใช้สำหรับ Dynamic Links โดยการเขียนการตั้งค่าใหม่ ตั้งค่ากฎ dynamicLinks เป็น true คำขอที่ส่งไปยังเส้นทางเหล่านี้จะได้รับ ผ่านพร็อกซีไปยัง Dynamic Links

      กฎการเขียนใหม่ Dynamic Link จะไม่เหมือนกับกฎที่เขียนเส้นทางไปยัง URL ใหม่ มีนิพจน์ทั่วไป

      หากคุณมีกฎการเขียนใหม่หลายกฎสำหรับเว็บไซต์ของคุณ โปรดทราบว่า 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 ที่ทำให้ใช้งานได้แล้วโดยใช้ Hosting REST API

  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 glob แรกที่บันทึกเส้นทางที่ขอ

ตัวอย่างเช่น หากคุณตั้งค่า 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
    } ]