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