คุณสามารถควบคุม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 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
ในไดเรกทอรีโปรเจ็กต์ในเครื่องอัปเดต FirebaseCLI เป็นเวอร์ชันล่าสุด (v6.5.0 ขึ้นไป)
กำหนดค่าHostingเว็บไซต์สำหรับ Dynamic Links ในไฟล์
firebase.json
ของโปรเจ็กต์ หากโปรเจ็กต์มีหลายเว็บไซต์ โปรด กำหนดค่าเว็บไซต์ที่เชื่อมต่อกับโดเมนที่ต้องการใช้ตั้งค่า
appAssociation
เป็นAUTO
การตั้งค่านี้จะทำให้ Hosting สร้างไฟล์assetlinks.json
และapple-app-site-association
แบบไดนามิกเมื่อมีการขอระบุคำนำหน้าเส้นทางที่ต้องการใช้สำหรับ Dynamic Links โดยตั้งค่ากฎการเขียนใหม่ที่มี
dynamicLinks
ตั้งค่าเป็นtrue
คำขอไปยังเส้นทางเหล่านี้จะได้รับการ พร็อกซีไปยัง Dynamic LinksDynamic 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 โปรดทราบถึงลำดับความสำคัญในการโฮสต์
- ตรวจสอบว่าDynamic Links คำนำหน้า URL ไม่ขัดแย้งกับการกำหนดค่าการโฮสต์ที่มีลำดับความสำคัญสูงกว่า (เช่น เนื้อหาสแตติกที่โฮสต์จะมีลำดับความสำคัญสูงกว่าการเขียนใหม่เสมอ)
- ภายในแอตทริบิวต์
rewrites
การตอบกลับ Hosting จะเป็นไปตามกฎ ที่ระบุโดย glob แรก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
ผู้ใช้ปลายทางจะเห็นเนื้อหาแบบคงที่แทน 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 } ]