Oluşturduğunuz Firebase Dynamic Links'i almak için Dynamic Links SDK'sını uygulamanıza dahil etmeniz ve uygulamanız yüklendiğinde verileri Dynamic Link'te geçirmek için FirebaseDynamicLinks.getDynamicLink()
yöntemini çağırmanız gerekir.
Firebase ve Dynamic Links SDK'sını kurun
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. Sizden istenirse hizmet şartlarını kabul edin.
Derin bağlantılar için bir amaç filtresi ekleyin
Düz derin bağlantılarda olduğu gibi, uygulamanız için derin bağlantıları işleyen etkinliğe yeni bir amaç filtresi eklemelisiniz. Uygulamanız yüklüyse Dinamik Bağlantı alanınıza yönlendirme yapacağından, amaç filtresi alanınızın derin bağlantılarını yakalamalıdır. Bu, uygulamanızın Play Store'dan yüklendikten/güncellendikten ve Devam düğmesine bir kez basıldıktan sonra Dinamik Bağlantı verilerini alması için gereklidir.
AndroidManifest.xml
:<intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="example.com" android:scheme="https"/> </intent-filter>
Kullanıcılar, belirttiğiniz şemaya ve ana bilgisayara derin bağlantı içeren bir Dinamik Bağlantı açtığında, uygulamanız bağlantıyı işlemek için bu amaç filtresiyle etkinliği başlatır.
Derin bağlantıları yönetin
Derin bağlantıyı almak için
getDynamicLink()
yöntemini çağırın:Java
FirebaseDynamicLinks.getInstance() .getDynamicLink(getIntent()) .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() { @Override public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { // Get deep link from result (may be null if no link is found) Uri deepLink = null; if (pendingDynamicLinkData != null) { deepLink = pendingDynamicLinkData.getLink(); } // Handle the deep link. For example, open the linked // content, or apply promotional credit to the user's // account. // ... // ... } }) .addOnFailureListener(this, new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "getDynamicLink:onFailure", e); } });
Kotlin+KTX
Firebase.dynamicLinks .getDynamicLink(intent) .addOnSuccessListener(this) { pendingDynamicLinkData -> // Get deep link from result (may be null if no link is found) var deepLink: Uri? = null if (pendingDynamicLinkData != null) { deepLink = pendingDynamicLinkData.link } // Handle the deep link. For example, open the linked // content, or apply promotional credit to the user's // account. // ... // ... } .addOnFailureListener(this) { e -> Log.w(TAG, "getDynamicLink:onFailure", e) }
Bağlantı,
getIntent().getData()
kullanılarak elde edilebilir olsa bile, bağlantı tarafından başlatılabilecek her etkinliktegetDynamicLink()
() öğesini çağırmalısınız.getDynamicLink()
çağrılması, bağlantıyı alır ve bu verileri siler, böylece uygulamanız tarafından yalnızca bir kez işlenir.Normalde ana etkinlikte ve bağlantıyla eşleşen amaç filtreleri tarafından başlatılan etkinliklerde
getDynamicLink()
.Analizleri kaydedin
Aşağıdaki olaylar Google Analytics'te otomatik olarak izlenebilir ve Firebase konsolunda gösterilebilir.
-
dynamic_link_app_open
-
dynamic_link_first_open
-
dynamic_link_app_update
Bu etkinlikleri kaydetmek için derin bağlantıyı almadan önce Google Analytics'i yapılandırmanız gerekir. Aşağıdaki koşulların karşılandığını kontrol edin:
- Uygulamanızın giriş noktalarında
FirebaseDynamicLinks.getDynamicLink()
'i arayın: - Başlatıcı etkinlikleri. örneğin:
action="android.intent.action.MAIN"
,category="android.intent.category.LAUNCHER"
. - Faaliyet giriş noktaları. örneğin:
onStart()
,onCreate()
. - Derin bağlantı etkinlikleri.
- Google Analytics'i kurun ve kullanın:
- Google Analytics bağımlılığını dahil edin. Bu genellikle
google-services
Gradle eklentisi tarafından otomatik olarak eklenir. -
google-services.json
yapılandırma dosyasını uygulamanıza ekleyin. -
FirebaseAnalytics.getInstance()
öğesini çağırmadan önceFirebaseDynamicLinks.getDynamicLink()
() öğesini arayın.
Uygulama Bağlantılarını Kullanarak Dinamik Bağlantıları İşleme
Android 6.0 (API düzeyi 23) ve sonraki sürümlerde, uygulamanızı Android App Links kullanarak, uygulamanız zaten yüklendiğinde doğrudan Dinamik Bağlantıları işleyecek şekilde ayarlayabilirsiniz.
Uygulamanız için SHA256 sertifikası parmak izini Firebase konsolunda projenize eklediğinizden emin olun. Dynamic Links, Dynamic Links alan adınız için App Links web sitesi ilişkilendirmesinin kurulumunu üstlenir.
Etkinliğe, Dynamic Link'i işleyecek otomatik olarak doğrulanmış bir amaç filtresi ekleyin ve ana bilgisayarı Firebase konsolunda bulunduğu gibi projenizin Dynamic Links etki alanına ayarlayın.
AndroidManifest.xml
:<intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <category android:name="android.intent.category.BROWSABLE"/> <data android:host="example.com/link" android:scheme="http"/> <data android:host="example.com/link" android:scheme="https"/> </intent-filter>
android:host
, derin bağlantınızın etki alanına değil, Dinamik Bağlantılar etki alanınıza ayarlanması gerektiğini unutmayın.Uygulama Bağlantılarının etkileşime geçebilmesi için bildiriminizdeki tüm
autoVerify
amaç filtrelerinin kaydedilmesi gerekir. Firebase, Dynamic Links alan adlarınız için bunu otomatik olarak halleder, ancak Dynamic Links alan adınızda barındırılanassetlinks.json
dosyasını açarak bunu kontrol edebilirsiniz:https://YOUR_DOMAIN/.well-known/assetlinks.json
Tüm Firebase uygulamalarınızın paket adları dahil edilmelidir.Dinamik Bağlantılar artık doğrudan uygulamanıza gönderilecek. Uygulama Bağlantıları amaç filtresini eklediğiniz Aktivitede
getDynamicLink()
çağırarak derin bağlantıyı ve diğer Dinamik Bağlantı verilerini elde edebileceksiniz ( Derin bağlantıları işleme bölümünde açıklandığı gibi).Not: Uygulama Bağlantıları aracılığıyla çağırma, kullanıcıyı doğrudan uygulamaya götürdüğünden, Dinamik Bağlantı gerekli minimum sürümü karşılayamaz. Bu nedenle, uygulama açıldıktan sonra, Dynamic Link'in minimum sürümünü ( getminimumappversion ) PackageInfo.versionCode ile karşılaştırmanız ve gerekirse getUpdateAppIntent kullanarak kullanıcıyı uygulamayı yükseltmesi için yönlendirmeniz gerekir.
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.
[] []