Bạn có thể tạo Liên kết động ngắn hoặc dài bằng API Trình tạo liên kết động Firebase. API này chấp nhận một Liên kết động dài hoặc một đối tượng chứa các tham số Liên kết động và trả về các URL giống như các 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 bạn có thể tạo Liên kết động trong ứng dụng Android của mình, bạn phải bao gồm SDK Firebase. Nếu ứng dụng của bạn được thiết lập để nhận Liên kết động, thì bạn đã hoàn thành các bước này và có thể bỏ qua phần này.
Nếu bạn chưa có, hãy thêm Firebase vào dự án Android của bạn .
Khi bạn đăng ký ứng dụng của mình, hãy chỉ định khóa ký SHA-1 của bạn. Nếu bạn sử dụng Liên kết ứng dụng, hãy chỉ định cả khóa SHA-256 của bạn.
Trong tệp Gradle mô-đun (cấp ứng dụng) của bạn (thường là
<project>/<app-module>/build.gradle
), hãy thêm phần phụ thuộc cho thư viện Dynamic Links Android. Chúng tôi khuyên bạn nên sử dụng Firebase Android BoM để kiểm soát việc lập phiên bản thư viện.Để có trải nghiệm tối ưu với Liên kết động, chúng tôi khuyên bạn nên bật Google Analytics trong dự án Firebase của mình và thêm SDK Firebase cho Google Analytics vào ứng dụng của bạn.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Add the dependencies for the Dynamic Links and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Android Firebase.
(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM
Nếu chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.
Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.
dependencies { // Add the dependencies for the Dynamic Links and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links-ktx:21.1.0' implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Add the dependencies for the Dynamic Links and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links' implementation 'com.google.firebase:firebase-analytics' }
Bằng cách sử dụng Firebase Android BoM , ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Android Firebase.
(Thay thế) Thêm phụ thuộc thư viện Firebase mà không cần sử dụng BoM
Nếu chọn không sử dụng Firebase BoM, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc của nó.
Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự khuyên bạn nên sử dụng BoM để quản lý các phiên bản thư viện, điều này đảm bảo rằng tất cả các phiên bản đều tương thích.
dependencies { // Add the dependencies for the Dynamic Links and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-dynamic-links:21.1.0' implementation 'com.google.firebase:firebase-analytics:21.3.0' }
- Trong bảng điều khiển Firebase, hãy mở phần Liên kết động .
Nếu bạn chưa chấp nhận điều khoản dịch vụ và đặt miền cho Liên kết động của mình, hãy làm như vậy khi được nhắc.
Nếu bạn đã có miền Liên kết động, hãy lưu ý về nó. Bạn cần cung cấp miền Liên kết động khi tạo Liên kết động theo chương trình.
- Đề xuất : Chỉ định các mẫu URL được phép trong liên kết sâu và liên kết dự phòng của bạn. Bằng cách làm như vậy, bạn ngăn các bên trái phép tạo 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 Cho phép các mẫu URL cụ thể .
Sử dụng bảng điều khiển Firebase
Nếu bạn muốn tạo một Liên kết động duy nhất, cho mục đích thử nghiệm hoặc để nhóm tiếp thị của bạn dễ dàng tạo một liên kết có thể được sử dụng trong nội dung nào đó như bài đăng trên mạng xã hội, thì cách đơn giản nhất là truy cập bảng điều khiển Firebase và tạo một Liên kết động. thủ công theo mẫu từng bước.
Tạo Liên kết động từ các tham số
Để tạo một Liên kết động, hãy tạo một đối tượng
DynamicLink
mới với Trình tạo của nó, chỉ định các tham số Liên kết động bằng các phương thức Trình tạo. Sau đó, gọibuildDynamicLink
hoặcbuildShortDynamicLink
.Ví dụ tối thiểu sau đây tạo một Liên kết động dài tới
https://www.example.com/
mở bằng ứng dụng Android của bạn trên Android và ứng dụngcom.example.ios
trên iOS:Kotlin+KTX
val dynamicLink = Firebase.dynamicLinks.dynamicLink { link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" // Open links with this app on Android androidParameters { } // Open links with com.example.ios on iOS iosParameters("com.example.ios") { } } val dynamicLinkUri = dynamicLink.uri
Java
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") // Open links with this app on Android .setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build()) // Open links with com.example.ios on iOS .setIosParameters(new DynamicLink.IosParameters.Builder("com.example.ios").build()) .buildDynamicLink(); Uri dynamicLinkUri = dynamicLink.getUri();
Để tạo Liên kết động ngắn, hãy tạo
DynamicLink
theo cách tương tự, sau đó gọibuildShortDynamicLink
. Xây dựng một liên kết ngắn yêu cầu một cuộc gọi mạng, do đó, thay vì trực tiếp trả về liên kết,buildShortDynamicLink
trả về mộtTask
, điều này làm cho liên kết ngắn khả dụng khi yêu cầu hoàn tất. Ví dụ:Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync { link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" // Set parameters // ... }.addOnSuccessListener { (shortLink, flowchartLink) -> // You'll need to import com.google.firebase.dynamiclinks.ktx.component1 and // com.google.firebase.dynamiclinks.ktx.component2 // Short link created processShortLink(shortLink, flowchartLink) }.addOnFailureListener { // Error // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") // Set parameters // ... .buildShortDynamicLink() .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { @Override public void onComplete(@NonNull Task<ShortDynamicLink> task) { if (task.isSuccessful()) { // Short link created Uri shortLink = task.getResult().getShortLink(); Uri flowchartLink = task.getResult().getPreviewLink(); } else { // Error // ... } } });
Theo mặc định, các Liên kết động ngắn được tạo bằng các hậu tố liên kết gồm 17 ký tự khiến người khác khó có thể đoán được một Liên kết động hợp lệ. Đối với trường hợp sử dụng của bạn, nếu ai đó đoán thành công một liên kết ngắn thì không có hại gì, bạn có thể muốn tạo các hậu tố chỉ dài đến mức cần thiết để trở thành duy nhất, bạn có thể thực hiện điều này bằng cách chuyển
ShortDynamicLink.Suffix.SHORT
cho phương thứcbuildShortDynamicLink
:Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
Thông số liên kết động
Bạn có thể sử dụng API Trình tạo liên kết động để tạo Liên kết động với bất kỳ tham số nào được hỗ trợ. Xem tài liệu tham khảo API để biết chi tiết.
Ví dụ sau tạo Liên kết động với một số tham số phổ biến được đặt:
Kotlin+KTX
val dynamicLink = Firebase.dynamicLinks.dynamicLink { // or Firebase.dynamicLinks.shortLinkAsync link = Uri.parse("https://www.example.com/") domainUriPrefix = "https://example.page.link" androidParameters("com.example.android") { minimumVersion = 125 } iosParameters("com.example.ios") { appStoreId = "123456789" minimumVersion = "1.0.1" } googleAnalyticsParameters { source = "orkut" medium = "social" campaign = "example-promo" } itunesConnectAnalyticsParameters { providerToken = "123456" campaignToken = "example-promo" } socialMetaTagParameters { title = "Example of a Dynamic Link" description = "This link works whether the app is installed or not!" } }
Java
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLink(Uri.parse("https://www.example.com/")) .setDomainUriPrefix("https://example.page.link") .setAndroidParameters( new DynamicLink.AndroidParameters.Builder("com.example.android") .setMinimumVersion(125) .build()) .setIosParameters( new DynamicLink.IosParameters.Builder("com.example.ios") .setAppStoreId("123456789") .setMinimumVersion("1.0.1") .build()) .setGoogleAnalyticsParameters( new DynamicLink.GoogleAnalyticsParameters.Builder() .setSource("orkut") .setMedium("social") .setCampaign("example-promo") .build()) .setItunesConnectAnalyticsParameters( new DynamicLink.ItunesConnectAnalyticsParameters.Builder() .setProviderToken("123456") .setCampaignToken("example-promo") .build()) .setSocialMetaTagParameters( new DynamicLink.SocialMetaTagParameters.Builder() .setTitle("Example of a Dynamic Link") .setDescription("This link works whether the app is installed or not!") .build()) .buildDynamicLink(); // Or buildShortDynamicLink()
Bạn có thể đặt các tham số Liên kết động bằng các phương pháp sau:
Tham số DynamicLink thiết lậpLink 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, 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). Liên kết này phải là một URL có định dạng tốt, được mã hóa URL đúng cách, sử dụng HTTP hoặc HTTPS và không thể là một Liên kết động khác.
setDomainUriPrefix Tiền tố URL liên kết động của bạn, 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 trông giống như các ví dụ sau: https://example.com/link https://example.page.link
Tham số Android setFallbackUrl Liên kết để mở khi chưa cài đặt ứng dụng. Chỉ định điều này để làm điều gì đó 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ở liên kết. Nếu ứng dụng đã cài đặt là phiên bản cũ hơn, thì người dùng sẽ được đưa đến Cửa hàng Play để nâng cấp ứng dụng.Thông số Ios setAppStoreId ID App Store của ứng dụng của bạn, được sử dụng để đưa người dùng đến App Store khi ứng dụng chưa được cài đặt setFallbackUrl Liên kết để mở khi chưa cài đặt ứng dụng. Chỉ định điều này để làm điều gì đó 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 cáo cho ứng dụng của bạn. setCustomScheme Lược đồ URL tùy chỉnh của ứng dụng của bạn, nếu được định nghĩa là thứ gì đó khác với ID gói của ứng dụng của bạn setIpadFallbackUrl Liên kết để mở trên iPad khi chưa cài đặt ứng dụng. Chỉ định điều này để làm điều gì đó 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 của nội dung hoặc hiển thị trang quảng cáo cho ứng dụng của bạn. setIpadBundleId ID gói của ứng dụng iOS sử dụng trên iPad để mở 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ở liên kết. Cờ này được chuyển đến ứng dụng của bạn khi nó được mở và ứng dụng của bạn phải quyết định phải làm gì với nó. Điều hướngThông sốThông số setForcedRedirectEnabled Nếu được đặt thành '1', hãy bỏ qua trang xem trước ứng dụng khi Liên kết động được mở và thay vào đó hãy 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 thích hợp nhất một cách đáng tin cậy hơn khi họ mở Liên kết động trong ứng dụng; tuy nhiên, nếu bạn muốn Liên kết động chỉ được mở trong các ứng dụng có thể mở 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 liên kết đó bằng tham số này. Tham số này sẽ chỉ ảnh hưởng đến hoạt động của Liên kết động trên iOS. Tham số MetaTag xã hội đặtTiêu đề Tiêu đề được sử dụng khi Liên kết động được chia sẻ trong bài đăng trên mạng xã hội. setMô tả Mô tả sẽ sử dụng khi Liên kết động được chia sẻ trong bài đăng trên mạng xã hội. setImageUrl URL của một hình ảnh liên quan đến liên kết này. Hình ảnh phải có kích thước tối thiểu 300x200 px và nhỏ hơn 300 KB. Thông số GoogleAnalytics setSource
setMedium
thiết lập chiến dịch
setTerm
setContentThông số phân tích của Google Play. Các thông 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.Thông số ItunesConnectAnalytics setProviderToken
setAffiliateToken
setCampaignTokenThông số phân tích iTunes Connect. Các tham số này ( pt
,at
,ct
) được chuyển đến App Store.Rút ngắn một Dynamic Link dài
Để rút ngắn Liên kết động dài, hãy chỉ định URL của Liên kết động bằng cách sử dụng
setLongLink
thay vì đặt tham số bằng các phương thức trình tạo khác:Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync { longLink = Uri.parse( "https://example.page.link/?link=" + "https://www.example.com/&apn=com.example.android&ibn=com.example.ios", ) }.addOnSuccessListener { (shortLink, flowChartLink) -> // You'll need to import com.google.firebase.dynamiclinks.ktx.component1 and // com.google.firebase.dynamiclinks.ktx.component2 // Short link created processShortLink(shortLink, flowChartLink) }.addOnFailureListener { // Error // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() .setLongLink(Uri.parse("https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibn=com.example.ios")) .buildShortDynamicLink() .addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { @Override public void onComplete(@NonNull Task<ShortDynamicLink> task) { if (task.isSuccessful()) { // Short link created Uri shortLink = task.getResult().getShortLink(); Uri flowchartLink = task.getResult().getPreviewLink(); } else { // Error // ... } } });
Trừ khi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2023-06-06 UTC.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Thiếu thông tin tôi cần" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Quá phức tạp/quá nhiều bước" },{ "type": "thumb-down", "id": "outOfDate", "label":"Đã lỗi thời" },{ "type": "thumb-down", "id": "translationIssue", "label":"Vấn đề về bản dịch" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Vấn đề về mẫu/mã" },{ "type": "thumb-down", "id": "otherDown", "label":"Khác" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Dễ hiểu" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Giúp tôi giải quyết được vấn đề" },{ "type": "thumb-up", "id": "otherUp", "label":"Khác" }]