Bạn có thể tạo Đường liên kết động ngắn hoặc dài bằng API Trình tạo đường liên kết động của Firebase. API này chấp nhận một Đường liên kết động dài hoặc một đối tượng chứa các tham số Đường liên kết động, đồng thời trả về các URL như trong ví dụ sau:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Thiết lập Firebase và SDK Liên kết động
Trước khi có thể tạo Đường liên kết động trong ứng dụng Android, bạn phải thêm Firebase SDK. Nếu ứng dụng của bạn được thiết lập để nhận Đường liên kết động, thì bạn đã hoàn tất các bước này và có thể bỏ qua phần này.
Cài đặt và khởi động Firebase SDK cho Flutter nếu bạn chưa làm việc này.
Trong thư mục gốc của dự án Flutter, hãy chạy lệnh sau để cài đặt trình bổ trợ Đường liên kết động:
flutter pub add firebase_dynamic_linksNếu bạn đang xây dựng một ứng dụng Android, hãy mở trang Cài đặt dự án của bảng điều khiển Firebase và đảm bảo bạn đã chỉ định khoá ký SHA-1. Nếu bạn sử dụng Đường liên kết trong ứng dụng, hãy chỉ định cả khoá SHA-256.
Trong bảng điều khiển của Firebase, hãy mở mục Dynamic Links (Đường liên kết động).
Nếu bạn chưa thiết lập miền cho Đường liên kết động, hãy nhấp vào nút Bắt đầu rồi làm theo lời nhắc.
Nếu bạn đã có miền Liên kết động, hãy ghi chú lại miền đó. Bạn cần cung cấp một miền Đường liên kết động khi tạo Đường liên kết động theo phương thức lập trình.

Nên dùng: Trong trình đơn "Thêm" (⋮), hãy chỉ định các mẫu URL được phép trong đường liên kết sâu và đường liên kết dự phòng. Bằng cách này, bạn sẽ ngăn các bên trái phép tạo Đường liên kết động chuyển hướng từ miền của bạn đến các trang web mà bạn không kiểm soát.
Xem phần Cho phép các mẫu URL cụ thể.
Tạo Đường liên kết động từ các tham số
Để tạo Đường liên kết động, hãy tạo một đối tượng DynamicLinkParameters mới rồi truyền đối tượng đó đến buildLink() hoặc buildShortLink().
Ví dụ tối thiểu sau đây tạo một Đường liên kết động dài đến https://www.example.com/, mở bằng com.example.app.android trên Android và ứng dụng com.example.app.ios trên iOS:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
Để tạo Đường liên kết động ngắn, hãy truyền đối tượng DynamicLinkParameters đến buildShortLink(). Việc tạo đường liên kết ngắn cần có lệnh gọi mạng.
Ví dụ:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Theo mặc định, các Đường liên kết động ngắn được tạo bằng hậu tố chỉ dài vài ký tự. Mặc dù điều này giúp đường liên kết gọn hơn, nhưng cũng có thể khiến người khác đoán được đường liên kết ngắn hợp lệ. Thông thường, việc này không gây hại vì đường liên kết đó dẫn đến thông tin công khai.
Tuy nhiên, nếu đường liên kết ngắn dẫn đến thông tin dành riêng cho người dùng, bạn nên tạo đường liên kết dài hơn có hậu tố gồm 17 ký tự để người khác khó có thể đoán được Đường liên kết động hợp lệ. Để thực hiện việc này, hãy truyền ShortDynamicLinkType.unguessable
vào phương thức buildShortLink():
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Tham số Đường liên kết động
Bạn có thể sử dụng API Trình tạo đường liên kết động để tạo Đường liên kết động bằng bất kỳ tham số nào được hỗ trợ. Xem Tài liệu tham khảo API.
Ví dụ sau đây tạo một Đường liên kết động có một số tham số phổ biến:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Bạn có thể đặt tham số Đường liên kết động bằng các phương thức sau:
| Tham số DynamicLink | |
|---|---|
| setLink | Đường liên kết mà ứng dụng của bạn sẽ mở. Chỉ định một URL mà ứng dụng của bạn có thể xử lý, thường là nội dung hoặc tải trọng của ứng dụng, giúp khởi tạo logic dành riêng cho ứng dụng (chẳng hạn như tặng phiếu giảm giá cho người dùng hoặc hiển thị màn hình chào mừng). Đường liên kết này phải là một URL có định dạng chuẩn, được mã hoá URL đúng cách, sử dụng HTTP hoặc HTTPS và không được là một Đường liên kết động khác. |
| setDomainUriPrefix | Tiền tố URL của Đường liên kết động mà bạn có thể tìm thấy trong bảng điều khiển của Firebase. Miền Đường liên kết động có dạng như các ví dụ sau:
https://example.com/link https://example.page.link |
| AndroidParameters | |
|---|---|
| setFallbackUrl | Đường liên kết để mở khi ứng dụng chưa được cài đặt. Chỉ định giá trị này để thực hiện một hành động khác ngoài việc cài đặt ứng dụng của bạn từ Cửa hàng Play khi ứng dụng chưa được cài đặt, chẳng hạn như mở phiên bản web dành cho thiết bị di động của nội dung hoặc hiển thị trang quảng cáo cho ứng dụng của bạn. |
| setMinimumVersion | versionCode của phiên bản tối thiểu của ứng dụng có thể mở đường liên kết. Nếu ứng dụng đã cài đặt là phiên bản cũ, người dùng sẽ được đưa đến Cửa hàng Play để nâng cấp ứng dụng. |
| IosParameters | |
|---|---|
| setAppStoreId | Mã App Store của ứng dụng, dùng để đưa người dùng đến App Store khi ứng dụng chưa được cài đặt |
| setFallbackUrl | Đường liên kết để mở khi ứng dụng chưa được cài đặt. Chỉ định giá trị này để thực hiện một hành động khác ngoài việc cài đặt ứng dụng của bạn từ cửa hàng ứng dụng khi ứng dụng chưa được cài đặt, chẳng hạn như mở phiên bản web dành cho thiết bị di động của nội dung hoặc hiển thị trang quảng cáo cho ứng dụng của bạn. |
| setCustomScheme | Lược đồ URL tuỳ chỉnh của ứng dụng, nếu được xác định là một giá trị khác với mã nhận dạng gói của ứng dụng |
| setIpadFallbackUrl | Đường liên kết để mở trên iPad khi ứng dụng chưa được cài đặt. Chỉ định tham số này để thực hiện một hành động khác ngoài việc cài đặt ứng dụng của bạn từ cửa hàng ứng dụng khi ứng dụng chưa được cài đặt, chẳng hạn như mở phiên bản web của nội dung hoặc hiển thị trang quảng cáo cho ứng dụng của bạn. |
| setIpadBundleId | Mã nhận dạng gói của ứng dụng iOS dùng trên iPad để mở đường liên kết. Ứng dụng phải được kết nối với dự án của bạn từ trang Tổng quan của bảng điều khiển Firebase. |
| setMinimumVersion | Số phiên bản của phiên bản tối thiểu của ứng dụng có thể mở đường liên kết. Cờ này được truyền đến ứng dụng của bạn khi ứng dụng được mở và ứng dụng của bạn phải quyết định việc cần làm với cờ này. |
| NavigationInfoParameters | |
|---|---|
| setForcedRedirectEnabled | Nếu bạn đặt thành "1", hãy bỏ qua trang xem trước ứng dụng khi Đường liên kết động được mở, rồi chuyển hướng đến ứng dụng hoặc cửa hàng. Trang xem trước ứng dụng (được bật theo mặc định) có thể đưa người dùng đến đích đến phù hợp nhất một cách đáng tin cậy hơn khi họ mở Đường liên kết động trong ứng dụng. Tuy nhiên, nếu bạn muốn Đường liên kết động chỉ mở trong những ứng dụng có thể mở Đường liên kết động một cách đáng tin cậy mà không cần trang này, thì bạn có thể tắt trang này bằng tham số này. Tham số này sẽ chỉ ảnh hưởng đến hành vi của Đường liên kết động trên iOS. |
| SocialMetaTagParameters | |
|---|---|
| setTitle | Tiêu đề sẽ sử dụng khi Đường liên kết động được chia sẻ trong một bài đăng trên mạng xã hội. |
| setDescription | Nội dung mô tả sẽ được sử dụng khi Đường liên kết động được chia sẻ trong một bài đăng trên mạng xã hội. |
| setImageUrl | URL của hình ảnh liên quan đến đường liên kết này. Hình ảnh phải có kích thước tối thiểu là 300x200 pixel và nhỏ hơn 300 KB. |
| GoogleAnalyticsParameters | |
|---|---|
| setSource setMedium setCampaign setTerm setContent |
Thông số phân tích của Google Play. Các tham số này (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) được chuyển đến Cửa hàng Play cũng như được thêm vào tải trọng liên kết. |
| ItunesConnectAnalyticsParameters | |
|---|---|
| setProviderToken setAffiliateToken setCampaignToken |
Tham số phân tích của iTunes Connect. Các tham số này (`pt`, `at`, `ct`) được chuyển đến cửa hàng ứng dụng. |