Firebase Dynamic Links Builder API ile kısa veya uzun Dinamik Bağlantılar oluşturabilirsiniz. Bu API, uzun bir Dinamik Bağlantı ya da Dinamik Bağlantı içeren bir nesne 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ı ayarlar
Android uygulamanızda Dinamik Bağlantılar oluşturabilmeniz için Firebase SDK'sı. Uygulamanız Dynamic Links alacak şekilde ayarlandıysa: adımları tamamladıysanız 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
), ve Android için Dynamic Links kitaplığına yönelik bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinDinamik Bağlantılar ile optimum deneyim için Google Analytics'i 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.1.2")) // 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'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz 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. Böylece, uyumlu olur.
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.0.2' }
. - Firebase konsolunda Dinamik Bağlantılar bölümünü açın.
-
Hizmet şartlarını kabul edip bir alan adı ayarlamadıysanız dinamik bağlantılarınız için, istendiğinde bunu yapın.
Zaten bir Dynamic Links alan adınız varsa bunu not edin. Şunları yapmanız gerekir: programlı bir şekilde Dinamik Bağlantılar oluşturduğunuzda bir Dynamic Links alan adı sağlar.
- Ö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 Dinamik Bağlantılar oluşturarak. Daha fazla bilgi için Belirli URL kalıpları hakkında daha fazla bilgi edinin.
Firebase konsolunu kullanma
Test amacıyla veya pazarlama ekibiniz için tek bir Dinamik Bağlantı oluşturmak istiyorsanız sosyal medya yayını gibi bir yerde kullanılabilecek bir bağlantıyı kolayca oluşturmak, en basit yol Firebase konsolunu ziyaret ederek ve adım adım açıklamalı formu uygulayarak manuel olarak bir tane oluşturun.
Parametrelerden Dinamik Bağlantı oluşturma
Dinamik Bağlantı oluşturmak içinDynamicLink
Dinamik Bağlantı parametrelerini Oluşturucu 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
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 Dinamik Bağlantı 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
bağlantısı olduğundan, doğrudan bağlantıya dönmek 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, yalnızca
geçerli bir Dinamik Bağlantı'nın tahmin edilmesi çok düşük bir ihtimaldir. Eğer,
olduğunu unutmayın. Kısa bir bağlantıyı başarılı bir şekilde tahmin edenlerin de
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); // ...
Dinamik Bağlantı parametreleri
önerilen parametrelerdir. Bkz. API referansı başlıklı makaleyi inceleyin.
Aşağıdaki örnekte birkaç yaygın parametre ile bir Dinamik Bağlantı oluşturma 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()
Dinamik Bağlantı 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 Dinamik Bağlantı URL'si ön ekiniz. CEVAP
Dinamik Bağlantı alanı aşağıdaki örneklere benzer:
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 Dinamik Bağlantı açıldığında uygulama önizleme sayfasını atlayıp bunun yerine uygulamaya veya mağazaya yönlendirin. Uygulama önizleme sayfası (varsayılan olarak etkindir), uygulamalarda Dinamik Bağlantıları açan kullanıcıları en uygun hedefe daha güvenilir bir şekilde gönderebilir; ancak bir Dinamik Bağlantının yalnızca bu sayfa olmadan Dynamic Links'i güvenilir bir şekilde açabilen uygulamalarda açılmasını bekliyorsanız bu parametreyle devre dışı bırakabilirsiniz. Bu parametre, Dinamik Bağlantı'nın yalnızca iOS'teki davranışını etkiler. |
SocialMetaTagParameters | |
---|---|
setTitle | Dinamik Bağlantı, bir sosyal medya yayınında paylaşıldığında kullanılacak başlık. |
setDescription | Dinamik Bağlantı, bir sosyal medya yayınında paylaşıldığında kullanılacak açıklama. |
kümeResmi 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 Dinamik Bağlantıyı kısaltın
Uzun bir Dinamik Bağlantıyı kısaltmak için Dinamik Bağlantının URL'sini
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 // ... } } });