Anda dapat membuat Dynamic Links pendek atau panjang dengan Firebase Dynamic Links Builder API. API ini menerima Tautan Dinamis panjang atau objek yang berisi parameter Tautan Dinamis, dan mengembalikan URL seperti contoh berikut:
https://example.com/link/WXYZ https://example.page.link/WXYZ
Siapkan Firebase dan Dynamic Links SDK
Sebelum dapat membuat Dynamic Links di aplikasi Android, Anda harus menyertakan Firebase SDK. Jika aplikasi Anda disiapkan untuk menerima Tautan Dinamis, Anda telah menyelesaikan langkah-langkah ini dan Anda dapat melewati bagian ini.
Jika Anda belum melakukannya, tambahkan Firebase ke proyek Android Anda .
Saat Anda mendaftarkan aplikasi, tentukan kunci penandatanganan SHA-1 Anda. Jika Anda menggunakan Link Aplikasi, tentukan juga kunci SHA-256 Anda.
Dalam file Gradle modul (level aplikasi) Anda (biasanya
<project>/<app-module>/build.gradle
), tambahkan dependensi untuk library Android Dynamic Links. Kami merekomendasikan penggunaan Firebase Android BoM untuk mengontrol pembuatan versi library.Untuk pengalaman optimal dengan Dynamic Links, sebaiknya aktifkan Google Analytics di project Firebase Anda dan tambahkan Firebase SDK untuk Google Analytics ke aplikasi Anda.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.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' }
Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi pustaka Android Firebase yang kompatibel.
(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM
Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.
Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.
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.2.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.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' }
Dengan menggunakan Firebase Android BoM , aplikasi Anda akan selalu menggunakan versi pustaka Android Firebase yang kompatibel.
(Alternatif) Tambahkan dependensi library Firebase tanpa menggunakan BoM
Jika Anda memilih untuk tidak menggunakan Firebase BoM, Anda harus menentukan setiap versi pustaka Firebase di baris dependensinya.
Perhatikan bahwa jika Anda menggunakan beberapa pustaka Firebase di aplikasi Anda, kami sangat menyarankan penggunaan BoM untuk mengelola versi pustaka, yang memastikan bahwa semua versi kompatibel.
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.2.0' }
- Di konsol Firebase, buka bagian Tautan Dinamis .
Jika Anda belum menyetujui persyaratan layanan dan menetapkan domain untuk Dynamic Links, lakukan saat diminta.
Jika Anda sudah memiliki domain Dynamic Links, catatlah. Anda harus menyediakan domain Dynamic Links saat membuat Dynamic Links secara terprogram.
- Direkomendasikan : Tentukan pola URL yang diizinkan di tautan dalam dan tautan cadangan Anda. Dengan melakukannya, Anda mencegah pihak yang tidak berwenang membuat Tautan Dinamis yang mengalihkan dari domain Anda ke situs yang tidak Anda kontrol. Lihat Mengizinkan pola URL tertentu .
Gunakan konsol Firebase
Jika Anda ingin membuat satu Tautan Dinamis, baik untuk tujuan pengujian, atau untuk tim pemasaran agar mudah membuat tautan yang dapat digunakan dalam sesuatu seperti postingan media sosial, cara paling sederhana adalah dengan mengunjungi konsol Firebase dan membuatnya secara manual mengikuti formulir langkah demi langkah.
Buat Tautan Dinamis dari parameter
Untuk membuat Dynamic Link, buat objek
DynamicLink
baru dengan Builder-nya, dengan menentukan parameter Dynamic Link dengan metode Builder. Kemudian, panggilbuildDynamicLink
ataubuildShortDynamicLink
.Contoh minimal berikut membuat Tautan Dinamis panjang ke
https://www.example.com/
yang terbuka dengan aplikasi Android Anda di Android dan aplikasicom.example.ios
di 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();
Untuk membuat Dynamic Link singkat, buat
DynamicLink
dengan cara yang sama, lalu panggilbuildShortDynamicLink
. Membuat tautan pendek memerlukan panggilan jaringan, jadi alih-alih mengembalikan tautan secara langsung,buildShortDynamicLink
mengembalikanTask
, yang membuat tautan pendek tersedia saat permintaan selesai. Sebagai contoh: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 // ... } } });
Secara default, Tautan Dinamis pendek dibuat dengan akhiran tautan 17 karakter yang membuatnya sangat tidak mungkin seseorang dapat menebak Tautan Dinamis yang valid. Jika, untuk kasus penggunaan Anda, tidak ada salahnya seseorang berhasil menebak tautan pendek, Anda mungkin lebih suka membuat sufiks yang hanya selama diperlukan untuk menjadi unik, yang dapat Anda lakukan dengan meneruskan
ShortDynamicLink.Suffix.SHORT
ke metodebuildShortDynamicLink
:Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
Parameter Tautan Dinamis
Anda dapat menggunakan Dynamic Link Builder API untuk membuat Dynamic Links dengan salah satu parameter yang didukung. Lihat referensi API untuk detailnya.
Contoh berikut membuat Dynamic Link dengan beberapa kumpulan parameter umum:
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()
Anda dapat menyetel parameter Tautan Dinamis dengan metode berikut:
Parameter DynamicLink setLink Tautan yang akan dibuka aplikasi Anda. Tentukan URL yang dapat ditangani aplikasi Anda, biasanya konten atau payload aplikasi, yang memulai logika khusus aplikasi (seperti mengkredit pengguna dengan kupon atau menampilkan layar selamat datang). Tautan ini harus berupa URL dengan format yang baik, berenkode URL dengan benar, menggunakan HTTP atau HTTPS, dan tidak boleh berupa Tautan Dinamis lainnya.
setDomainUriPrefix Awalan URL Dynamic Link Anda, yang dapat Anda temukan di konsol Firebase. Domain Dynamic Link terlihat seperti contoh berikut: https://example.com/link https://example.page.link
Parameter Android setFallbackUrl Tautan untuk membuka saat aplikasi tidak terpasang. Tetapkan ini untuk melakukan sesuatu selain menginstal aplikasi Anda dari Play Store saat aplikasi tidak diinstal, seperti membuka konten versi web seluler, atau menampilkan halaman promosi untuk aplikasi Anda. setMinimumVersion versionCode
dari versi minimum aplikasi Anda yang dapat membuka tautan. Jika aplikasi yang diinstal adalah versi yang lebih lama, pengguna akan dibawa ke Play Store untuk memutakhirkan aplikasi.IosParameters setAppStoreId ID App Store aplikasi Anda, yang digunakan untuk mengirim pengguna ke App Store saat aplikasi belum diinstal setFallbackUrl Tautan untuk membuka saat aplikasi tidak terpasang. Tetapkan ini untuk melakukan sesuatu selain menginstal aplikasi Anda dari App Store saat aplikasi tidak diinstal, seperti membuka konten versi web seluler, atau menampilkan halaman promosi untuk aplikasi Anda. setCustomScheme Skema URL khusus aplikasi Anda, jika ditentukan sebagai sesuatu selain ID bundel aplikasi Anda setIpadFallbackUrl Tautan untuk membuka di iPad saat aplikasi tidak dipasang. Tetapkan ini untuk melakukan sesuatu selain menginstal aplikasi Anda dari App Store saat aplikasi tidak diinstal, seperti membuka konten versi web, atau menampilkan halaman promosi untuk aplikasi Anda. setIpadBundleId ID paket aplikasi iOS yang akan digunakan di iPad untuk membuka tautan. Aplikasi harus terhubung ke proyek Anda dari halaman Ikhtisar konsol Firebase. setMinimumVersion Nomor versi versi minimum aplikasi Anda yang dapat membuka tautan. Bendera ini diteruskan ke aplikasi Anda saat dibuka, dan aplikasi Anda harus memutuskan apa yang harus dilakukan dengannya. NavigationInfoParameters setForcedRedirectEnabled Jika disetel ke '1', lewati halaman pratinjau aplikasi saat Dynamic Link dibuka, alih-alih alihkan ke aplikasi atau toko. Halaman pratinjau aplikasi (diaktifkan secara default) dapat mengarahkan pengguna ke tujuan yang paling tepat dengan lebih andal saat mereka membuka Dynamic Links di aplikasi; namun, jika Anda mengharapkan Tautan Dinamis hanya dibuka di aplikasi yang dapat membuka Tautan Dinamis dengan andal tanpa laman ini, Anda dapat menonaktifkannya dengan parameter ini. Parameter ini hanya akan memengaruhi perilaku Dynamic Link di iOS. SocialMetaTagParameters setTitle Judul yang akan digunakan saat Dynamic Link dibagikan di postingan sosial. setDescription Deskripsi yang akan digunakan saat Dynamic Link dibagikan di postingan sosial. setImageUrl URL ke gambar yang terkait dengan link ini. Gambar harus berukuran minimal 300x200 px, dan kurang dari 300 KB. Parameter Google Analytics setSource
setMedium
setCampaign
setTerm
setContentParameter analitik Google Play. Parameter ini ( utm_source
,utm_medium
,utm_campaign
,utm_term
,utm_content
) diteruskan ke Play Store serta ditambahkan ke payload tautan.ItunesConnectAnalyticsParameters setProviderToken
setAffiliateToken
setCampaignTokenParameter analitik iTunes Connect. Parameter ini ( pt
,at
,ct
) diteruskan ke App Store.Persingkat Tautan Dinamis yang panjang
Untuk mempersingkat Dynamic Link yang panjang, tetapkan URL Dynamic Link menggunakan
setLongLink
daripada menyetel parameter dengan metode pembuat lainnya: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 // ... } } });
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-01-26 UTC.
[] []