Firebase Dynamic Links Builder API ile kısa veya uzun Dinamik Bağlantılar oluşturabilirsiniz. Bu API, uzun bir Dinamik Bağlantıyı veya Dinamik Bağlantı parametrelerini içeren bir nesneyi kabul eder ve aşağıdaki örneklere benzer URL'ler döndürür:
https://example.com/link/WXYZ https://example.page.link/WXYZ
Firebase ve Dinamik Bağlantılar SDK'sını kurun
Android uygulamanızda Dinamik Bağlantılar oluşturabilmeniz için önce Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dinamik Bağlantıları alacak şekilde ayarlandıysa, bu adımları zaten tamamladınız ve bu bölümü atlayabilirsiniz.
Henüz yapmadıysanız, Firebase'i Android projenize ekleyin .
Uygulamanızı kaydettirirken, SHA-1 imzalama anahtarınızı belirtin. Uygulama Bağlantıları kullanıyorsanız SHA-256 anahtarınızı da belirtin.
Modül (uygulama düzeyi) Gradle dosyanızda (genellikle
<project>/<app-module>/build.gradle.kts
veya<project>/<app-module>/build.gradle
), Dinamik Bağlantılar için bağımlılığı ekleyin Android kitaplığı. Kitaplık sürüm oluşturmayı kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.Dynamic Links ile optimum bir deneyim için Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'yı uygulamanıza eklemenizi öneririz.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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' }
Firebase Android BoM'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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.3.1")) // 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'yi kullandığınızda, uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıkları ekleyin
Firebase BoM'yi kullanmamayı seçerseniz, her bir Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı kesinlikle öneririz.
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' }
- Firebase konsolunda Dinamik Bağlantılar bölümünü açın.
Hizmet şartlarını henüz kabul etmediyseniz ve Dinamik Bağlantılarınız için bir etki alanı ayarlamadıysanız, istendiğinde bunu yapın.
Halihazırda bir Dinamik Bağlantılar etki alanınız varsa, not alın. Programlı olarak Dinamik Bağlantılar oluşturduğunuzda bir Dinamik Bağlantılar etki alanı sağlamanız gerekir.
- Önerilen : Derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen URL kalıplarını belirtin. Bunu yaparak, yetkisiz tarafların alanınızdan sizin kontrolünüzde olmayan sitelere yönlendirme yapan Dinamik Bağlantılar oluşturmasını engellersiniz. Bkz. Belirli URL kalıplarına izin verme .
Firebase konsolunu kullanın
Test amacıyla veya pazarlama ekibinizin sosyal medya gönderisi gibi bir şeyde kullanılabilecek bir bağlantıyı kolayca oluşturması için tek bir Dinamik Bağlantı oluşturmak istiyorsanız, en basit yol Firebase konsolunu ziyaret etmek ve bir tane oluşturmak olacaktır. adım adım formu manuel olarak takip edin.
Parametrelerden bir Dinamik Bağlantı oluşturun
Dinamik Bağlantı oluşturmak için, Oluşturucu yöntemleriyle Dinamik Bağlantı parametrelerini belirterek Oluşturucusu ile yeni bir
DynamicLink
nesnesi oluşturun. Ardından,buildDynamicLink
veyabuildShortDynamicLink
arayın.Aşağıdaki minimal örnek, Android'de Android uygulamanız ve iOS'ta
com.example.ios
uygulamasıyla açılanhttps://www.example.com/
için uzun bir Dinamik Bağlantı oluşturur: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ındanbuildShortDynamicLink
çağırın. Kısa bir bağlantı oluşturmak, bir ağ araması gerektirir, bu nedenle, bağlantıyı doğrudan döndürmek yerine,buildShortDynamicLink
, istek tamamlandığında kısa bağlantıyı kullanılabilir kılan birTask
döndürür. Ö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.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 // ... } } });
Varsayılan olarak, kısa Dinamik Bağlantılar, birinin geçerli bir Dinamik Bağlantıyı tahmin etmesini son derece düşük bir ihtimal haline getiren 17 karakterlik bağlantı son ekleriyle oluşturulur. Kullanım durumunuz için, birinin kısa bir bağlantıyı başarılı bir şekilde tahmin etmesinde bir sakınca yoksa, yalnızca benzersiz olmak için gerekli olduğu sürece son ekler oluşturmayı tercih edebilirsiniz; bunu,
ShortDynamicLink.Suffix.SHORT
buildShortDynamicLink
yöntemine ileterek yapabilirsiniz. :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
Desteklenen parametrelerden herhangi biriyle Dinamik Bağlantılar oluşturmak için Dinamik Bağlantı Oluşturucu API'sini kullanabilirsiniz. Ayrıntılar için API referansına bakın.
Aşağıdaki örnek, birkaç ortak parametre seti ile bir Dinamik Bağlantı oluşturur:
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, genellikle uygulamanın içeriği veya yükü olan ve uygulamaya özel mantığı başlatan (kullanıcıyı bir kuponla kredilendirme veya bir karşılama ekranı görüntüleme gibi) bir URL belirtin. Bu bağlantı, iyi biçimlendirilmiş bir URL olmalı, uygun şekilde URL kodlu olmalı, HTTP veya HTTPS kullanmalı ve başka bir Dinamik Bağlantı olamaz.
setDomainUriPrefix Firebase konsolunda bulabileceğiniz Dinamik Bağlantı URL'si ön ekiniz. Dinamik Bağlantı etki alanı aşağıdaki örneklere benzer: https://example.com/link https://example.page.link
AndroidParametreleri setFallbackUrl Uygulama yüklenmediğinde açılacak bağlantı. İçeriğin mobil web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi, uygulama yüklü değilken Play Store'dan uygulamanızı yüklemek dışında bir şey yapmak için bunu belirtin. setMinimumVersion Uygulamanızın bağlantıyı açabilen minimum sürümünün versionCode
. Yüklenen uygulama daha eski bir sürümse kullanıcı, uygulamayı yükseltmek için Play Store'a yönlendirilir.IosParametreleri setAppStoreId Uygulamanızın, uygulama yüklü değilken kullanıcıları App Store'a göndermek için kullanılan App Store Kimliği setFallbackUrl Uygulama yüklenmediğinde açılacak bağlantı. İçeriğin mobil web sürümünü açmak veya uygulamanız için bir promosyon sayfası görüntülemek gibi, uygulama yüklü değilken App Store'dan uygulamanızı yüklemek dışında bir şey yapmak için bunu belirtin. setCustomScheme Uygulamanızın paket kimliğinden farklı bir şey olarak tanımlanmışsa, uygulamanızın özel URL şeması setIpadFallbackUrl Uygulama yüklü değilken iPad'lerde açılacak bağlantı. İçeriğin web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi, uygulama yüklü değilken uygulamanızı App Store'dan yüklemek dışında bir şey yapmak için bunu 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. setMinimumVersion Uygulamanızın bağlantıyı açabilen minimum sürümünün sürüm numarası . Bu bayrak, açıldığında uygulamanıza iletilir ve uygulamanızın onunla ne yapacağına karar vermesi gerekir. NavigationInfoParametreleri setForcedRedirectEnabled "1" olarak ayarlanırsa Dinamik Bağlantı açıldığında uygulama önizleme sayfasını atlayın ve bunun yerine uygulamaya veya mağazaya yönlendirin. Uygulama önizleme sayfası (varsayılan olarak etkindir), uygulamalarda Dinamik Bağlantıları açtıklarında 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 güvenilir bir şekilde Dinamik Bağlantıları açabilen uygulamalarda açılmasını bekliyorsanız, bu parametre ile devre dışı bırakabilirsiniz. Bu parametre, Dinamik Bağlantının davranışını yalnızca iOS'ta etkiler. SocialMetaTagParametreleri setTitle Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak başlık. setDescription Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak açıklama. setImageUrl Bu bağlantıyla ilgili bir resmin URL'si. Resim en az 300x200 piksel ve 300 KB'den küçük olmalıdır. GoogleAnalyticsParametreleri setSource
setMedium
setKampanya
setTerm
içerik ayarlaGoogle Play analiz 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.ItunesConnectAnalyticsParametreler setProviderToken
setAffiliateToken
setCampaignTokeniTunes Connect analiz parametreleri. Bu parametreler ( pt
,at
,ct
) App Store'a iletilir.Uzun bir Dinamik Bağlantıyı kısaltın
Uzun bir Dinamik Bağlantıyı kısaltmak için, diğer oluşturucu yöntemleriyle parametreleri ayarlamak yerine
setLongLink
kullanarak Dinamik Bağlantının URL'sini belirtin: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 // ... } } });
Aksi belirtilmediği sürece bu sayfanın içeriği Creative Commons Atıf 4.0 Lisansı altında ve kod örnekleri Apache 2.0 Lisansı altında lisanslanmıştır. Ayrıntılı bilgi için Google Developers Site Politikaları'na göz atın. Java, Oracle ve/veya satış ortaklarının tescilli ticari markasıdır.
Son güncelleme tarihi: 2023-09-20 UTC.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"İhtiyacım olan bilgiler yok" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Çok karmaşık / çok fazla adım var" },{ "type": "thumb-down", "id": "outOfDate", "label":"Güncel değil" },{ "type": "thumb-down", "id": "translationIssue", "label":"Çeviri sorunu" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Örnek veya kod sorunu" },{ "type": "thumb-down", "id": "otherDown", "label":"Diğer" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Anlaması kolay" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Sorunumu çözdü" },{ "type": "thumb-up", "id": "otherUp", "label":"Diğer" }]