Thiết lập miền tùy chỉnh cho Liên kết động

Bạn có thể kiểm soát tốt hơn thương hiệu của Liên kết động 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 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 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 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 cần có sự cho phép 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 tên miền web của bạn cho Liên kết động

Bạn có thể sử dụng cùng một 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 của mình, nhưng nếu làm như vậy, bạn phải lưu ý rằng 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, do đó, 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 tới 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 bị coi là 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 các 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 miền tùy chỉnh hoàn toàn trong bảng điều khiển Firebase. Làm như vậy:

  1. Nếu bạn chưa thiết lập Dịch vụ 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.

  2. Mở trang Liên kết động của bảng điều khiển Firebase.

  3. Nếu trước đây bạn chưa từng sử dụng Liên kết động, 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.

  4. Chỉ dành cho iOS : Trong tệp Info.plist của dự án Xcode của bạn, hãy tạo khóa có tên FirebaseDynamicLinksCustomDomains và đặt khóa đó 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 một miền khác hoặc khi bạn thêm một miền đã được kết nối với một trang web 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:

  1. Kết nối miền của bạn với Firebase Hosting nếu bạn chưa làm như vậy.

    Thiết lập miền của bạn với Firebase Hosting bao gồm việc tạo tệp cấu hình firebase.json trong thư mục dự án cục bộ của bạn.

  2. Cập nhật lên phiên bản mới nhất của Firebase CLI (v6.5.0 trở lên).

  3. Đị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. Nếu dự án của bạn có nhiều trang web, hãy đảm bảo định cấu hình trang web được kết nối với miền bạn muốn sử dụng.

    • Đặt appAssociation thành AUTO . Với cài đặt này, Hosting tự động tạo các tệp assetlinks.jsonapple-app-site-association 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 dynamicLinks được đặt thành true . Yêu cầu đối với các đường dẫn này được ủy quyền cho Liên kết động.

      Không giống như các quy tắc ghi lại đường dẫn tới URL, quy tắc ghi lại Liên kết động 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 của mình, 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 Liên kết động với tiền tố URL như 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

  4. Triển khai các thay đổi cấu hình Hosting 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 API Hosting REST .

  5. Chỉ dành cho iOS : Trong tệp Info.plist của dự án Xcode của bạn, hãy tạo khóa có tên FirebaseDynamicLinksCustomDomains và đặt khóa đó 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 Dynamic Links và Hosting

Đối với Liên kết động, hãy đặc biệt chú ý đến 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ấ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 so với việc ghi lại).
  • Trong thuộc tính rewrites , phản hồi của Hosting sẽ tuân theo quy tắc được chỉ định bởi toàn cầu source đầ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 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. 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 tại your-domain / source-path / link-suffix , người dùng cuối sẽ thấy nội dung tĩnh thay vì 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à Dịch 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 example.com , quy tắc viết 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 tên 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 tên miền phụ đó. Ví dụ: nếu bạn có tên miền phụ là links.example.com , quy tắc viết 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
    } ]