Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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 Liên kết động của mình xây dựng thương hiệu bằng cách sử dụng tên miền riêng của bạn thay vì một page.link tên miền phụ. 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

Một phần của URL trước khi link-suffix được gọi là tiền tố URL, và chứa cả tùy chỉnh Dynamic Link miền của bạn và một tiền tố con đường. 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 Biên tập viên 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 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 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, 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 một liên kết động đến tài nguyên https://example.com/my-resource (một trang web, Universal Link, hoặc App Link), bạn có thể không sử dụng https://example.com/ là tiền tố động Liên kết URL, bởi vì làm như vậy sẽ gây ra https://example.com/my-resource được đối xử như 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, về lâu dạng sau động Liên kết (và liên kết ngắn tương đương) sẽ không làm việc như dự định vì các URL đã được xác định bởi các link bắt đầu tham số với tiền tố Dynamic Link URL, https://example.com/ :

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

Nhưng sau dài hình thức động Liên kết (và liên kết ngắn tương đương) có thể làm việc, bởi vì các tiền tố URL không mâu thuẫn với các link URL:

 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:

  1. Nếu bạn chưa thiết lập căn cứ hỏa lực Hosting cho dự án của bạn, mở trang Hosting của căn cứ hỏa lực điều khiển, nhấp vào Bắt đầu, và bấm vào thông qua các 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 năng động Liên kết của các firebase console.

  3. Nếu bạn chưa sử dụng động Liên kết trước đó, nhấp vào Bắt đầu. Nếu không, bấm Add URL tiền tố từ trình đơn 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. iOS chỉ: Trong dự án Xcode của bạn Info.plist tập tin, tạo một khóa gọi FirebaseDynamicLinksCustomDomains và đặt nó là tiền tố động Liên kết URL 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 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:

  1. Kết nối tên miền của bạn để căn cứ hỏa lực Hosting nếu bạn chưa làm như vậy.

    Thiết lập tên miền của bạn với căn cứ hỏa lực Hosting bao gồm việc tạo ra các tập tin cấu hình firebase.json trong thư mục dự án tại địa phương.

  2. Cập nhật phiên bản mới nhất của các firebase CLI (v6.5.0 hoặc mới hơn).

  3. Cấu hình trang web của bạn Hosting cho động liên kết trong dự án của bạn firebase.json tập tin. 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.

    • Set appAssociation để AUTO . Với thiết lập này, Hosting tự động tạo ra assetlinks.jsonapple-app-site-association tập tin khi họ đang yêu cầu.

    • Xác định tiền tố đường dẫn mà bạn muốn sử dụng cho động Liên kết bằng cách thiết lập quy tắc viết lại với dynamicLinks thiết lập để true . 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 động Liên kết 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 bạn sử dụng tên miền này chỉ dành cho động Links, bạn có thể sử dụng đường dẫn nguồn /** để tạo động Liên kết không có tiền tố đường dẫn:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    Với các quy tắc trên, bạn có thể tạo động Liên kết như ví dụ sau:

    https://your-domain/link-suffix

  4. Triển khai Hosting thay đổi cấu hình của bạn:

    firebase deploy --only hosting

    (không bắt buộc) Bạn có thể kiểm tra được triển khai firebase.json nội dung bằng cách sử dụng API REST Hosting .

  5. iOS chỉ: Trong dự án Xcode của bạn Info.plist tập tin, tạo một khóa gọi FirebaseDynamicLinksCustomDomains và đặt nó là tiền tố động Liên kết URL 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 Liên kết động và Lưu trữ

Đối với động Links, được đặc biệt chú ý lưu trữ thứ tự ưu tiên .

  • Đả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 rewrites thuộc tính, phản ứng Hosting sẽ tuân theo quy tắc được xác định bởi người đầu tiên source glob rằng ảnh chụp con đường yêu cầu.

Ví dụ, nếu bạn thiết lập một 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 , nội dung tĩnh được ưu tiên. Một người dùng cuối sẽ thấy index.html chứ không phải là 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 những nội dung tĩnh chứ không phải 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 tùy source thuộc tính để phù hợp với một tiền tố con đường. Ví dụ, nếu bạn có một tên miền tùy chỉnh của 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 một tên miền phụ để sử dụng cho động Links, sau đó thiết lập của bạn source thuộc tính để phù hợp với tên miền phụ đó. Ví dụ, nếu bạn có một tên miền phụ 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
    } ]