คุณจะควบคุม 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 ถึง ให้ดำเนินการดังนี้
หากยังไม่ได้ตั้งค่า Firebase Hosting สําหรับโปรเจ็กต์ ให้เปิด Hosting หน้าของคอนโซล Firebase ให้คลิก เริ่มต้นใช้งาน แล้วคลิกวิธีการตั้งค่า คุณไม่ต้องทำ ดำเนินการตามขั้นตอนที่ระบุไว้ให้เสร็จสมบูรณ์ในขณะนี้
เปิดหน้า Dynamic Links ของคอนโซล Firebase
หากคุณไม่เคยใช้ Dynamic Links มาก่อน ให้คลิกเริ่มต้นใช้งาน หากไม่ใช่ ให้คลิก เพิ่มคำนำหน้า URL จากเมนูแบบเลื่อนลง
จากนั้นทำตามขั้นตอนในวิซาร์ดการตั้งค่า โดยระบุคำนำหน้าโดเมนและเส้นทางของคุณ ที่ต้องการใช้เมื่อได้รับข้อความแจ้ง
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 แล้ว คุณต้องตั้งค่าโดเมนที่กำหนดเองด้วยตนเอง
วิธีการมีดังนี้
เชื่อมต่อโดเมนของคุณกับ Firebase Hosting หากคุณยังไม่ได้ทำ
การตั้งค่าโดเมนกับ Firebase Hosting รวมถึงการสร้าง ไฟล์การกำหนดค่า
firebase.json
ใน ไดเรกทอรีโปรเจ็กต์ที่อยู่ในเครื่องอัปเดต Firebase CLI เป็นเวอร์ชันล่าสุด (v6.5.0 หรือใหม่กว่า)
กำหนดค่าเว็บไซต์ 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
ทำให้การเปลี่ยนแปลงการกำหนดค่า Hosting ใช้งานได้:
firebase deploy --only hosting
(ไม่บังคับ) คุณสามารถตรวจสอบเนื้อหา
firebase.json
ที่ทำให้ใช้งานได้แล้วโดยใช้ Hosting REST APIiOS เท่านั้น: ในไฟล์
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 } ]