Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

ตั้งค่าโดเมนที่กำหนดเองสำหรับ Dynamic Links

คุณสามารถควบคุมการสร้างตราสินค้าของลิงก์แบบไดนามิกได้มากขึ้นโดยใช้โดเมนของคุณเองแทนโดเมนย่อยของ 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 และมีทั้งโดเมน Dynamic Link ที่กำหนดเองและคำนำหน้าเส้นทาง คุณจะต้องระบุคำนำหน้า URL เมื่อคุณสร้างลิงก์แบบไดนามิก

การตั้งค่าโดเมนที่กำหนดเองต้องใช้สิทธิ์ Editor หรือ Owner ในโครงการ Firebase ของคุณ

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

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

ตัวอย่างเช่นหากคุณต้องการสร้าง Dynamic Link ไปยังทรัพยากร https://example.com/my-resource (เว็บเพจ Universal Link หรือ App Link) คุณจะไม่สามารถใช้ https://example.com/ เป็นคำนำหน้า URL ลิงก์แบบไดนามิกเนื่องจากการทำเช่นนั้นจะทำให้ https://example.com/my-resource ถือว่าเป็นลิงก์แบบไดนามิก คุณต้องใช้คำนำหน้า URL แทนโดเมนอื่นหรือคำนำหน้าเส้นทางอื่น

ดังนั้นลิงก์ไดนามิกแบบยาวต่อไปนี้ (และลิงก์แบบสั้นที่เทียบเท่า) จะไม่ทำงานตามที่ต้องการเนื่องจาก 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 ไม่ขัดแย้งกับ 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 สำหรับโครงการของคุณให้เปิด หน้าโฮสต์ ของคอนโซล Firebase คลิก เริ่มต้น และคลิกที่คำแนะนำในการตั้งค่า คุณไม่ต้องทำตามขั้นตอนที่ระบุในเวลานี้

  2. เปิดหน้า Dynamic Links ของคอนโซล Firebase

  3. หากคุณไม่เคยใช้ลิงค์แบบไดนามิกมาก่อนให้คลิก เริ่มต้นใช้งาน มิฉะนั้นคลิก เพิ่มคำนำหน้า URL จากเมนูแบบเลื่อนลง

    จากนั้นดำเนินการตัวช่วยสร้างการตั้งค่าให้ระบุคำนำหน้าโดเมนและเส้นทางที่คุณต้องการใช้เมื่อได้รับแจ้ง

  4. iOS เท่านั้น : ในไฟล์ Info.plist ของโครงการ Xcode ให้สร้างคีย์ชื่อ FirebaseDynamicLinksCustomDomains และตั้งเป็นคำนำหน้า URL ลิงค์แบบไดนามิกของแอปของคุณ ตัวอย่างเช่น:

     <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. กำหนดค่าไซต์โฮสติ้งของคุณสำหรับ Dynamic Links ในไฟล์ firebase.json ของโครงการ หากโครงการของคุณมีหลายไซต์ต้องแน่ใจว่ากำหนดค่าไซต์ที่เชื่อมต่อกับโดเมนที่คุณต้องการใช้

    • ตั้งค่า appAssociation เป็น AUTO ด้วยการตั้งค่านี้โฮสติ้งจะสร้าง assetlinks.json และ apple-app-site-association แบบไดนามิกเมื่อมีการร้องขอ

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

    หากคุณใช้โดเมนนี้สำหรับ Dynamic Links คุณสามารถใช้เส้นทางที่มาของ /** เพื่อสร้างการเชื่อมโยงแบบไดนามิกโดยไม่มีคำนำหน้าเส้นทาง:

     {
      "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>
     

ลำดับความสำคัญสำหรับลิงก์แบบไดนามิกและโฮสติ้ง

สำหรับลิงก์แบบไดนามิกโปรดระวัง ลำดับความสำคัญ ของการ โฮสต์

  • ตรวจสอบให้แน่ใจว่าคำนำหน้า URL ลิงก์แบบไดนามิกของคุณไม่ขัดแย้งกับการกำหนดค่าโฮสต์ลำดับความสำคัญสูงกว่า (ตัวอย่างเช่นเนื้อหาสแตติกที่โฮสต์อยู่จะมีลำดับความสำคัญมากกว่าการเขียนซ้ำเสมอ)
  • ภายในแอตทริบิวต์ rewrites การตอบสนองของโฮสติ้งจะปฏิบัติตามกฎที่ระบุโดย 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 ผู้ใช้จะเห็นเนื้อหาสแตติกมากกว่าลิงก์แบบไดนามิก

หากคุณต้องการใช้การสร้างแบรนด์เดียวกันสำหรับทั้งลิงค์แบบไดนามิกและโฮสติ้งให้พิจารณาหนึ่งในตัวเลือกต่อไปนี้สำหรับคำนำหน้า 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 กฎการเขียน links.example.com ของคุณอาจเป็น:

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