Bạn có thể kiểm soát tốt hơn hoạt động xây dựng thương hiệu của Dynamic Links bằng cách sử dụng miền của riêng mình thay vì miền con page.link
. Với miền tuỳ chỉnh, bạn có thể tạo Dynamic Links như các ví dụ sau:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
Phần URL trước link-suffix được gọi là tiền tố URL và chứa cả miền Dynamic Link tuỳ chỉnh và tiền tố đường dẫn. Bạn cần cung cấp tiền tố URL khi tạo Dynamic Links.
Để thiết lập miền tuỳ chỉnh, bạn cần có quyền Người chỉnh sửa hoặc Chủ sở hữu đối với dự án Firebase.
Sử dụng miền web của bạn cho Dynamic Links
Bạn có thể sử dụng cùng một miền cho Dynamic Links và các trang web, Đường liên kết chung và Đường liên kết ứng dụng. Tuy nhiên, nếu có thì bạn phải chú ý để đảm bảo rằng các URL Dynamic Link không xung đột với URL web. Khi bạn định cấu hình Dynamic Links để sử dụng một tiền tố URL cụ thể, tất cả URL bắt đầu bằng tiền tố đó sẽ được coi là Dynamic Links. Vì vậy, bạn không thể sử dụng URL có tiền tố đó để trỏ đến nội dung được lưu trữ thông thường.
Ví dụ: nếu muốn tạo Dynamic Link cho tài nguyên https://example.com/my-resource
(trang web, Đường liên kết phổ quát hoặc Đường liên kết đến ứng dụng), bạn không thể sử dụng https://example.com/
làm tiền tố URL Dynamic Links, vì việc này sẽ khiến https://example.com/my-resource
được coi là Dynamic Link.
Thay vào đó, bạn phải sử dụng tiền tố URL với một miền khác hoặc tiền tố đường dẫn khác.
Vì vậy, Dynamic Links dạng dài sau đây (và các đường liên kết ngắn tương đương) sẽ không hoạt động như dự kiến vì các URL do tham số link
chỉ định bắt đầu bằng tiền tố 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
Tuy nhiên, Dynamic Links dạng dài sau đây (và các đường liên kết ngắn tương đương) có thể hoạt động, vì tiền tố URL không xung đột với 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
Thiết lập miền tuỳ chỉnh trong bảng điều khiển Firebase
Thông thường, bạn có thể thiết lập hoàn toàn một miền tuỳ chỉnh trong bảng điều khiển Firebase. Để làm như vậy:
Nếu bạn chưa thiết lập Firebase Hosting cho dự án, hãy mở trang Hosting của bảng điều khiển Firebase, nhấp vào Bắt đầu rồi nhấp vào hướng dẫn thiết lập. Bạn không cần phải hoàn tất các bước được chỉ định tại thời điểm này.
Mở trang Dynamic Links của bảng điều khiển Firebase.
Nếu bạn chưa từng sử dụng Dynamic Links, hãy nhấp vào Bắt đầu. Nếu không, hãy nhấp vào Thêm tiền tố URL trong trình đơn thả xuống.
Sau đó, hãy hoàn tất trình hướng dẫn thiết lập, chỉ định tiền tố miền và đường dẫn mà bạn muốn sử dụng khi được nhắc.
Chỉ dành cho iOS: Trong tệp
Info.plist
của dự án Xcode, hãy tạo một khoá có tên làFirebaseDynamicLinksCustomDomains
và đặt khoá đó thành tiền tố URL Dynamic Links của ứng dụng. Ví dụ:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Thiết lập miền tuỳ chỉnh theo cách thủ công
Trong một số trường hợp, chẳng hạn như khi bạn đã thiết lập miền tuỳ chỉnh cho Dynamic Links và muốn thêm một miền khác, hoặc khi bạn thêm một miền đã kết nối với trang web Hosting, bạn phải thiết lập miền tuỳ chỉnh theo cách thủ công.
Cách thực hiện:
Kết nối miền của bạn với Firebase Hosting nếu bạn chưa thực hiện việc này.
Để thiết lập miền bằng Firebase Hosting, bạn cần tạo tệp cấu hình
firebase.json
trong thư mục dự án cục bộ của mình.Cập nhật lên phiên bản mới nhất của CLI Firebase (phiên bản 6.5.0 trở lên).
Định cấu hình trang web Hosting cho Dynamic Links trong tệp
firebase.json
của dự án. Nếu dự án của bạn có nhiều trang web, hãy nhớ định cấu hình trang web được kết nối với miền mà bạn muốn sử dụng.Đặt
appAssociation
thànhAUTO
. Với chế độ cài đặt này, Hosting sẽ tạo động các tệpassetlinks.json
vàapple-app-site-association
khi được yêu cầu.Chỉ định các tiền tố đường dẫn mà bạn muốn sử dụng cho Dynamic Links bằng cách đặt quy tắc ghi lại với
dynamicLinks
được đặt thànhtrue
. Các yêu cầu đến các đường dẫn này sẽ được chuyển tiếp đến Dynamic Links.Không giống như các quy tắc ghi đè đường dẫn đến URL, quy tắc ghi đè Dynamic Link không được chứa biểu thức chính quy.
Nếu bạn có nhiều quy tắc viết lại cho trang web, hãy lưu ý rằng Hosting sẽ thực thi quy tắc viết lại đầu tiên phù hợp với yêu cầu.
Ví dụ:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Với cấu hình ở trên, bạn có thể tạo Dynamic Links bằng tiền tố URL như các ví dụ sau:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Nếu chỉ sử dụng miền này cho Dynamic Links, bạn có thể dùng đường dẫn nguồn của
/**
để tạo Dynamic Links mà không có tiền tố đường dẫn:{ "source": "/**", "dynamicLinks": true }
Với quy tắc trên, bạn có thể tạo Dynamic Links như ví dụ sau:
https://your-domain/link-suffix
Triển khai các thay đổi về cấu hình Hosting:
firebase deploy --only hosting
(không bắt buộc) Bạn có thể kiểm tra nội dung
firebase.json
đã triển khai bằng cách sử dụng Hosting REST API.Chỉ dành cho iOS: Trong tệp
Info.plist
của dự án Xcode, hãy tạo một khoá có tên làFirebaseDynamicLinksCustomDomains
và đặt khoá đó thành tiền tố URL Dynamic Links của ứng dụng. Ví dụ:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Thứ tự ưu tiên cho Dynamic Links và Hosting
Đối với Dynamic Links, hãy đặc biệt lưu ý đến thứ tự ưu tiên lưu trữ.
- Đảm bảo rằng tiền tố URL Dynamic Links không xung đột với các cấu hình lưu trữ có mức độ ưu tiên cao hơn (ví dụ: nội dung tĩnh được lưu trữ luôn có mức độ ưu tiên cao hơn so với nội dung được ghi đè).
- Trong thuộc tính
rewrites
, phản hồi Hosting sẽ tuân theo quy tắc do biểu thức chính quysource
đầu tiên ghi lại đường dẫn được yêu cầu chỉ định.
Ví dụ: nếu bạn thiết lập Dynamic Link cho your-domain/source-path/link-suffix
nhưng cũng có nội dung tĩnh tại your-domain/source-path/index.html
, thì nội dung tĩnh sẽ được ưu tiên. Người dùng cuối sẽ thấy index.html
thay vì Dynamic Link. Tương tự, nếu bạn có nội dung tĩnh tại your-domain/source-path/link-suffix
, người dùng cuối sẽ thấy nội dung tĩnh thay vì Dynamic Link.
Nếu bạn muốn sử dụng cùng một thương hiệu cho cả Dynamic Links và Hosting, hãy cân nhắc một trong các lựa chọn sau đây cho tiền tố URL Dynamic Links:
Đặt thuộc tính
source
để khớp với tiền tố đường dẫn. Ví dụ: nếu bạn có miền tuỳ chỉnh làexample.com
, thì quy tắc ghi lại của bạn có thể là:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Thiết lập một miền con để sử dụng cho Dynamic Links, sau đó đặt thuộc tính
source
để khớp với miền con đó. Ví dụ: nếu bạn có miền con làlinks.example.com
, thì quy tắc ghi lại có thể là:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]