Thiết lập miền tuỳ chỉnh cho Đường liên kết động

Bạn có nhiều quyền kiểm soát hơn đối với Dynamic Links xây dựng thương hiệu bằng cách sử dụng 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 sẽ cần cung cấp tiền tố URL khi bạn tạo Dynamic Links.

Để thiết lập miền tuỳ chỉnh, bạn cần có quyền của Người chỉnh sửa hoặc Chủ sở hữu trên Firebase dự án.

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 của mình là Universal Đường liên kết và Đường liên kết ứng dụng, nhưng nếu có, bạn phải chú ý rằng các URL Dynamic Link của mình không xung đột với URL web của bạn. Khi bạn định cấu hình Dynamic Links để sử dụng một tiền tố URL cụ thể, thì tất cả URL bắt đầu bằng tiền tố đó đều được coi là Dynamic Links, nên bạn không thể sử dụng URL có tiền tố đó để trỏ đến các dịch vụ được lưu trữ thông thường nội dung.

Ví dụ: nếu bạn 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 ứng dụng), bạn không thể sử dụng https://example.com/ làm tiền tố URL Dynamic Links vì làm như vậy sẽ khiến https://example.com/my-resource được coi là Dynamic Link. Thay vào đó, bạn phải sử dụng một tiền tố URL với một miền khác hoặc một tiền tố đường dẫn.

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ư vì các URL được chỉ định bởi tham số link 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ể mang lại hiệu quả, vì các 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 tuỳ chỉnh trong bảng điều khiển của Firebase

Thường thì bạn có thể thiết lập miền tuỳ chỉnh hoàn toàn trong bảng điều khiển Firebase. Người nhận làm như vậy:

  1. Nếu bạn chưa thiết lập Firebase Hosting cho dự án của mình, 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 phải hoàn tất các bước được nêu tại thời điểm này.

  2. Mở trang Dynamic Links của bảng điều khiển Firebase.

  3. 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 đó, hoàn tất trình hướng dẫn thiết lập, trong đó chỉ định tiền tố miền và đường dẫn mà bạn muố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, hãy tạo một khoá có tên FirebaseDynamicLinksCustomDomains rồi đặt thành URL Dynamic Links của ứng dụng tiền tố. 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 một 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 một trang web Hosting, nên 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:

  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, 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 bạn.

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

  3. Định cấu hình trang web Hosting cho Dynamic Links trong dự án của bạn firebase.json. 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 bạn muốn sử dụng.

    • Thiết lập appAssociation thành AUTO. Với chế độ cài đặt này, Hosting tạo assetlinks.jsonapple-app-site-association một cách linh động 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 ghi đè quy tắc có dynamicLinks được đặt thành true. Yêu cầu đối với các đường dẫn này sẽ nhận được được gửi qua proxy cho Dynamic Links.

      Không giống như các quy tắc ghi lại đường dẫn đến URL, quy tắc viết lại Dynamic Link không thể chứa biểu thức chính quy.

      Nếu bạn có nhiều quy tắc ghi lại cho trang web, hãy lưu ý rằng Hosting thực thi quy tắc ghi 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 với các 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ể sử dụng đường dẫn nguồn là /** để 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

  4. 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 Hosting API REST.

  5. 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 FirebaseDynamicLinksCustomDomains rồi đặt thành URL Dynamic Links của ứng dụng tiền tố. 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 LinksHosting

Đối với Dynamic Links, hãy đặc biệt lưu ý 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 mức độ ưu tiên cao hơn cấu hình lưu trữ (ví dụ: nội dung tĩnh được lưu trữ luôn được ưu tiên thay vì viết lại).
  • Trong thuộc tính rewrites, phản hồi Hosting sẽ tuân thủ quy tắc được chỉ định bởi cụm từ source đầu tiên ghi lại đường dẫn được yêu cầu.

Ví dụ: nếu bạn thiết lập Dynamic Link 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, 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 LinksHosting, hãy cân nhắc một trong các lựa chọn sau cho tiền tố URL Dynamic Links:

  • Đặt thuộc tính source để khớp với một tiền tố đường dẫn. Ví dụ: nếu bạn có một miền tuỳ chỉnh của example.com, thì 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 một miền con để sử dụng cho Dynamic Links, sau đó đặt thuộc tính source thành khớp với miền con đó. Ví dụ: nếu bạn có miền con của 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
    } ]