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 Dynamic Links SDK'sını kurun
Android uygulamanızda Dinamik Bağlantılar oluşturabilmeniz için Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dinamik Bağlantılar alacak şekilde ayarlanmışsa, bu adımları zaten tamamlamışsınızdır ve bu bölümü atlayabilirsiniz.
Henüz yapmadıysanız, Android projenize Firebase'i 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.
Firebase Android BoM'yi kullanarak, modülünüzdeki (uygulama düzeyi) Gradle dosyanızdaki (genellikle
app/build.gradle
) Dynamic Links Android kitaplığının bağımlılığını bildirin.Dynamic Links ile optimum deneyim için, Firebase projenizde Google Analytics'i etkinleştirmenizi ve Google Analytics için Firebase SDK'sını uygulamanıza eklemenizi öneririz.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare 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 kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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.0.1' implementation 'com.google.firebase:firebase-analytics:21.0.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.0') // Declare 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'u kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir Firebase kitaplık sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı şiddetle tavsiye ettiğimizi unutmayın; bu, tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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.0.1' implementation 'com.google.firebase:firebase-analytics-ktx:21.0.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ı belirlemediyseniz, istendiğinde bunu yapın.
Halihazırda bir Dynamic Links alan adınız varsa, bunu 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 modellerini belirtin. Bunu yaparak, yetkisiz tarafların, alanınızdan kontrol etmediğiniz sitelere yönlendirme yapan Dinamik Bağlantılar oluşturmasını önlersiniz. Belirli URL kalıplarına izin verme konusuna bakın.
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 edip bir tane oluşturmak olacaktır. adım adım formu manuel olarak takip edin.
Parametrelerden Dinamik Bağlantı oluşturun
Bir 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ındanbuildDynamicLink
veyabuildShortDynamicLink
.Aşağıdaki minimal örnek, Android'de Android uygulamanızla ve iOS'ta
com.example.ios
uygulamasıyla açılanhttps://www.example.com/
uzun bir Dinamik Bağlantı oluşturur: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();
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
Kısa bir Dinamik Bağlantı oluşturmak için aynı şekilde bir
DynamicLink
oluşturun ve ardındanbuildShortDynamicLink
. Kısa bir bağlantı oluşturmak bir ağ araması gerektirir, bu nedenle doğrudan bağlantıyı döndürmek yerinebuildShortDynamicLink
, kısa bağlantıyı istek tamamlandığında kullanılabilir hale getiren birTask
döndürür. Örneğin: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 // ... } } });
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 // ... }
Varsayılan olarak, kısa Dinamik Bağlantılar, birinin geçerli bir Dinamik Bağlantı tahmin etmesini son derece olası kılan 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 zarar yoksa,
ShortDynamicLink.Suffix.SHORT
buildShortDynamicLink
yöntemine ileterek yapabileceğiniz, yalnızca benzersiz olması gerektiği kadar uzun olan son ekler oluşturmayı tercih edebilirsiniz. :Java
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink() // ... .buildShortDynamicLink(ShortDynamicLink.Suffix.SHORT); // ...
Kotlin+KTX
val shortLinkTask = Firebase.dynamicLinks.shortLinkAsync(ShortDynamicLink.Suffix.SHORT) { // Set parameters // ... }
Dinamik Bağlantı parametreleri
Desteklenen parametrelerden herhangi biriyle Dinamik Bağlantılar oluşturmak için Dynamic Link Builder 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:
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()
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!" } }
Dinamik Bağlantı parametrelerini aşağıdaki yöntemlerle ayarlayabilirsiniz:
Dinamik Bağlantı 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 bir URL belirtin (kullanıcıya bir kupon vermek veya bir karşılama ekranı görüntülemek gibi). Bu bağlantı iyi biçimlendirilmiş bir URL olmalı, düzgün bir şekilde URL kodlamalı olmalı, HTTP veya HTTPS kullanmalı ve başka bir Dinamik Bağlantı olamaz.
setDomainUriÖnek Firebase konsolunda bulabileceğiniz Dinamik Bağlantı URL önekiniz. Dinamik Bağlantı etki alanı aşağıdaki örneklere benzer: https://example.com/link https://example.page.link
AndroidParametreler 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 Bağlantıyı açabilen uygulamanızın 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 götürülür.IosParameters setAppStoreId Uygulamanızın, uygulama yüklü olmadığında 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 tanıtım sayfası görüntülemek gibi uygulama yüklü olmadığında uygulamanızı App Store'dan yüklemek dışında bir şey yapmak için bunu belirtin. setÖzelŞema Uygulamanızın paket kimliğinden farklı bir şey olarak tanımlanmışsa, uygulamanızın özel URL şeması setIpadFallbackUrl Uygulama yüklenmediğinde 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ü olmadığında 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 onunla ne yapacağına karar vermelidir. NavigationInfoParameters 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ı daha güvenilir bir şekilde en uygun hedefe gönderebilir; ancak, bu sayfa olmadan yalnızca Dinamik Bağlantıları güvenilir bir şekilde açabilen uygulamalarda bir Dinamik Bağlantının 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. SosyalMetaEtiketParametreleri setTitle Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak başlık. setAçıklama 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
setOrta
setKampanya
setTerim
setİçerikGoogle Play analiz parametreleri. Bu parametreler ( utm_source
,utm_medium
,utm_campaign
,utm_term
,utm_content
) Play Store'a aktarılır ve ayrıca bağlantı yüküne eklenir.ItunesConnectAnalyticsParametreleri 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: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 // ... } } });
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 // ... }
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 2022-05-26 UTC.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "translationIssue", "label":"Translation issue" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Örnek veya kod sorunu" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]