Firebase Dynamic Links Builder API ile kısa veya uzun Dynamic Links oluşturabilirsiniz. Bu API, uzun Dynamic Link veya Dynamic Link içeren bir nesneyi kabul eder parametrelerini döndürür ve aşağıdaki örneklere benzer URL'leri döndürür:
https://example.com/link/WXYZ https://example.page.link/WXYZ
Firebase ve Dynamic Links SDK'sını ayarlayın
Android uygulamanızda Dynamic Links oluşturmak için öncelikle Firebase SDK'sı. Uygulamanız Dynamic Links verilerini alacak şekilde ayarlanmışsa zaten bu adımları tamamladıktan sonra bu bölümü atlayabilirsiniz.
Henüz yapmadıysanız Firebase'i Android projenize ekleyin.
Uygulamanızı kaydederken SHA-1 imzalama anahtarınızı belirtin. Şunu kullanıyorsanız: App Links'i açın ve SHA-256 anahtarınızı belirtin.
-
Modül (uygulama düzeyinde) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Android için Dynamic Links kitaplığına bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinEn iyi Dynamic Links deneyimi için şunları öneririz: Google Analytics özelliğini etkinleştirme Firebase projenize ekleyin ve uygulamanıza Google Analytics için Firebase SDK'sını ekleyin.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.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' }
Firebase Android BoM kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM
Firebase BoM kullanmamayı seçerseniz her Firebase kitaplığı sürümünü belirtmeniz gerekir değerini alır.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız, kitaplık sürümlerini yönetmek için BoM kullanmanızı öneririz. Bu, tüm sürümlerin uyumlu olduğundan emin olun.
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:22.1.0' implementation 'com.google.firebase:firebase-analytics:22.1.0' }
- Firebase konsolunda Dynamic Links bölümünü açın.
-
Hizmet şartlarını kabul edip bir alan adı ayarlamadıysanız Dynamic Links cihazınız için istendiğinde bunu yapın.
Dynamic Links alanınız varsa bunu not edin. Şunları yapmanız gerekir: Dynamic Links alan adını programatik olarak oluştururken bir Dynamic Links alan adı sağlayın.
- Önerilen: Derin bağlantılarınızda izin verilen URL kalıplarını belirtin ve yedek bağlantılar. Bu şekilde, yetkisiz tarafların alan adınızdan kontrol etmediğiniz sitelere yönlendiren Dynamic Links oluşturmaktır. Daha fazla bilgi için Belirli URL kalıpları hakkında daha fazla bilgi edinin.
Firebase konsolunu kullan
Test amacıyla veya pazarlama ekibiniz için tek bir Dynamic Link oluşturmak istiyorsanız sosyal medya yayını gibi bir yerde kullanılabilecek bir bağlantıyı kolayca oluşturmak Firebase konsolunu ziyaret ederek ve adım adım açıklamalı formu uygulayarak manuel olarak bir tane oluşturun.
Parametrelerden Dynamic Link oluşturun
Bir Dynamic Link oluşturmak için öğesini içeren yeni bir DynamicLink
nesnesi oluşturun
Dynamic Link parametrelerini Builder yöntemleriyle belirterek oluşturucu. Ardından şu numarayı arayın:
buildDynamicLink
veya buildShortDynamicLink
.
Aşağıdaki minimum örnek, her bir URL için uzun bir Dynamic Link
Android'de Android uygulamanızla açılan https://www.example.com/
ve iOS'te com.example.ios
uygulaması:
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();
Kısa bir Dynamic Link oluşturmak için aynı şekilde bir DynamicLink
oluşturun ve
ardından buildShortDynamicLink
numaralı telefonu arayın. Kısa bir bağlantı oluşturmak için
ağ çağrısında kalmıyor, dolayısıyla bağlantıyı doğrudan döndürmek yerine
buildShortDynamicLink
, Task
değerini döndürür. Bu da
İstek tamamlandığında kullanılabilir kısa bağlantıyı tıklayın. Örneğin:
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.component1 and // com.google.firebase.dynamiclinks.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 // ... } } });
Varsayılan olarak kısa Dynamic Links, oluşturduğunuz 17 karakterlik bağlantı sonekleriyle oluşturulur.
geçerli bir Dynamic Link tahmin etmesi çok düşük bir ihtimaldir. Eğer,
olduğunu varsayalım. Kısa bir bağlantıyı başarılı bir şekilde tahmin etmek,
yeteri kadar uzun olmayan sonekler oluşturmayı tercih edebilirsiniz.
Bunu yapmak için ShortDynamicLink.Suffix.SHORT
buildShortDynamicLink
yöntemine:
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
Dynamic Link parametre
Bunlardan herhangi biriyle Dynamic Links oluşturmak için Dynamic Link Builder API'yi kullanabilirsiniz önerilen parametrelerdir. Bkz. API referansı başlıklı makaleyi inceleyin.
Aşağıdaki örnekte birkaç yaygın parametre içeren bir Dynamic Link oluşturulur grup:
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()
Dynamic Link parametrelerini aşağıdaki yöntemlerle ayarlayabilirsiniz:
DynamicLink parametreleri | |
---|---|
setLink |
Uygulamanızın açacağı bağlantı. Uygulamanızın işleyebileceği bir URL belirtin (genellikle uygulamanın içeriği) uygulamaya özel mantığı (kullanıcıya kupon veya kredi vermek gibi) başlatan bir karşılama ekranı görüntülenir). Bu bağlantı iyi biçimlendirilmiş bir URL olmalı, doğru şekilde URL kodlamalı olmalıdır. ve başka bir Dinamik Bağlantı olamaz. |
setDomainUriPrefix | Firebase konsolunda bulabileceğiniz Dynamic Link URL ön ekiniz. CEVAP
Dynamic Link alanı, aşağıdaki örneklerde olduğu gibi görünür:
https://example.com/link https://example.page.link |
AndroidParametreleri | |
---|---|
setFallbackUrl | Uygulama yüklenmediğinde açılacak bağlantı. Uygulama yüklü değilken Play Store'dan uygulamanızı yüklemek dışında bir işlem yapmak (ör. içeriğin mobil web sürümünü açmak veya uygulamanızın tanıtım sayfasını görüntülemek) için bunu belirtin. |
MinimumSürüm ayarla | Uygulamanızın bağlantıyı açabilen minimum sürümünün versionCode değeri. Yüklü uygulama daha eski bir sürümse kullanıcı, uygulamayı yeni sürüme geçirmesi için Play Store'a yönlendirilir. |
IosParameters | |
---|---|
setAppStoreId | Uygulamanızın App Store kimliği (uygulama yüklü olmadığında kullanıcıları App Store'a göndermek için kullanılır) |
setFallbackUrl | Uygulama yüklenmediğinde açılacak bağlantı. Uygulama yüklü değilken uygulamanızı App Store'dan yüklemek dışında bir işlem yapmak (ör. içeriğin mobil web sürümünü açmak veya uygulamanızın tanıtım sayfasını görüntülemek) için bunu belirtin. |
setCustomScheme | Uygulamanızın özel URL şeması (uygulamanızın paket kimliğinden farklı bir şekilde tanımlanırsa) |
setIpadFallbackUrl | Uygulama yüklü olmadığında iPad'lerde açılacak bağlantı. Uygulama yüklü değilken uygulamanızı App Store'dan yüklemek dışında bir işlem yapmak (ör. içeriğin web sürümünü açmak veya uygulamanızın tanıtım sayfasını görüntülemek) için bu seçeneği belirtin. |
setipadBundleId | Bağlantıyı açmak için iPad'lerde kullanılacak iOS uygulamasının paket kimliği. Uygulama, Firebase konsolunun Genel bakış sayfasından projenize bağlanmalıdır. |
MinimumSürüm ayarla | Uygulamanızın bağlantıyı açabilen minimum sürümünün sürüm numarası. Bu işaret, uygulamanıza açıldığında aktarılır ve uygulamanızın bununla ne yapacağına karar vermesi gerekir. |
NavigationInfoParameters | |
---|---|
setForcedRedirectEnabled | Politika "1" olarak ayarlanırsa Dynamic Link açıldığında uygulama önizleme sayfasını atlayıp bunun yerine uygulamaya veya mağazaya yönlendirin. Uygulama önizleme sayfası (varsayılan olarak etkindir), Dynamic Links uygulamasını uygulamalarda açtıklarında kullanıcıları en uygun hedefe daha güvenilir bir şekilde gönderebilir; ancak bir Dynamic Link öğesinin, yalnızca bu sayfa olmadan Dynamic Links uygulamasını güvenilir bir şekilde açabilen uygulamalarda açılmasını bekliyorsanız bu parametreyle devre dışı bırakabilirsiniz. Bu parametre, Dynamic Link işlevinin yalnızca iOS'teki davranışını etkiler. |
SocialMetaTagParameters | |
---|---|
setTitle | Dynamic Link bir sosyal medya yayınında paylaşıldığında kullanılacak başlık. |
setDescription | Dynamic Link bir sosyal medya yayınında paylaşıldığında kullanılacak açıklama. |
kümeResim URL'si | Bu bağlantıyla ilgili bir resmin URL'si. Resim boyutu en az 300x200 piksel, en fazla 300 KB boyutunda olmalıdır. |
GoogleAnalyticsParameters | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Google Play Analytics parametreleri. Bu parametreler
(utm_source , utm_medium ,
utm_campaign , utm_term , utm_content )
Play Store'a aktarılır ve bağlantı yüküne eklenir.
|
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
iTunes Connect analiz parametreleri. Bu parametreler (pt ,
at , ct ) App Store'a aktarılır. |
Uzun bir Dynamic Link öğesini kısaltın
Uzun bir Dynamic Link öğesini kısaltmak için Dynamic Link öğesinin URL'sini şunu kullanarak belirtin:
Diğer oluşturucuyla parametreleri ayarlamak yerine setLongLink
yöntemleri:
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.component1 and // com.google.firebase.dynamiclinks.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 // ... } } });