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 Đườ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 và trả về các URL như các ví dụ sau:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Thiết lập Firebase và SDK Đường 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 SDK Firebase. 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 chạy SDK Firebase cho Flutter nếu bạn chưa thực hiện.
Từ 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_links
Nếu bạn đang tạo 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 khoá SHA-256.
Trong bảng điều khiển của Firebase, hãy mở mục 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 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 ngăn các bên không được uỷ quyền 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 thông số
Để tạo Đường liên kết động, hãy tạo một đối tượng DynamicLinkParameters
mới và truyền đối tượng đó đến buildLink()
hoặc buildShortLink()
.
Ví dụ tối giản 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 một Đường liên kết động ngắn, hãy truyền đối tượng DynamicLinkParameters
đến buildShortLink()
. Bạn cần có lệnh gọi mạng để tạo đường liên kết ngắn.
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, Đườ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ù việc này giúp đường liên kết trở nên ngắn 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 sẽ không gây hại nếu có người làm như vậy, 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 của bạ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 với 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 với 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 các 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ở ra. 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ư ghi có cho người dùng bằng phiếu giảm giá 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 đúng cách, đượ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. Bạn có thể tìm thấy tiền tố này trong bảng điều khiển Firebase. Miền Liên kết động sẽ 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ười dùng chưa cài đặt ứng dụng. Chỉ định giá trị này để thực hiện một thao tác 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 bá 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 chuyển đế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 họ chưa cài đặt ứng dụng |
setFallbackUrl | Đường liên kết để mở khi người dùng chưa cài đặt ứng dụng. Chỉ định giá trị này để thực hiện một thao tác khác ngoài việc cài đặt ứng dụng của bạn từ App Store 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 bá 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 giá trị này để làm một việc 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 của nội dung hoặc hiển thị trang quảng bá cho ứng dụng của bạn. |
setIpadBundleId | Mã nhận dạng gói của ứng dụng iOS để sử dụng trên iPad nhằm 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 được đặt thành "1", hãy bỏ qua trang xem trước ứng dụng khi Đường liên kết động được mở và 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ể gửi 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 chỉ muốn mở Đường liên kết động trong các ứ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 đề cần 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ả cần 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 đến một 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à dưới 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 đường liên kết. |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
Các thông số phân tích của iTunes Connect. Các tham số này ("pt", "at", "ct") được truyền đến App Store. |