คุณจะมีการควบคุมการสร้างแบรนด์ของ 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
ส่วนที่อยู่ก่อน link-suffix เรียกว่าคำนำหน้า URL และมีทั้งโดเมน Dynamic Link ที่กำหนดเองและคำนำหน้าเส้นทาง คุณจะต้องระบุคำนำหน้า URL เมื่อสร้าง Dynamic Links
การตั้งค่าโดเมนที่กำหนดเองต้องมีสิทธิ์ผู้แก้ไขหรือเจ้าของในโปรเจ็กต์ Firebase
การใช้โดเมนเว็บสำหรับ Dynamic Links
คุณใช้โดเมนเดียวกันกับ Dynamic Links และหน้าเว็บ, Universal Link และ App Link ได้ แต่หากใช้ คุณต้องตรวจสอบว่า 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
ขึ้นต้นด้วยคำนำหน้า URL Dynamic Link 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 จะเป็นไปตามกฎที่ระบุโดย Globsource
รายการแรกที่จับเส้นทางที่ขอ
ตัวอย่างเช่น หากคุณตั้งค่า 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 } ]