Oluşturduğunuz Firebase Dynamic Links öğesini almak için uygulamanıza Dynamic Links SDK'sını eklemeniz ve uygulamanız yüklendiğinde Dynamic Link içinde iletilen verileri almak için FirebaseDynamicLinks.getDynamicLink()
yöntemini çağırmanız gerekir.
Firebase ve Dynamic Links SDK'sını ayarlayın
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. Kitaplık sürümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.En 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.5.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 Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
(Alternatif) BoM
Firebase BoM kullanmamayı seçerseniz her Firebase kitaplık 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 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.2' }
- Firebase konsolunda Dynamic Links bölümünü açın. İstendiğinde hizmet şartlarını kabul edin.
Derin bağlantılar için intent filtresi ekleyin
olduğu gibi
düz derin bağlantılara yer veriyorsanız, bu bağlantıları işleyen etkinliğe yeni bir intent filtresi
Derin bağlantılar. Intent filtresi, alanınızın derin bağlantılarını yakalamalıdır çünkü
Uygulamanız yüklüyse Dynamic Link sizi alan adınıza yönlendirecek. Bu, uygulamanızın şunları yapması için gereklidir:
Dynamic Link verilerini Play Store'dan yükledikten/güncelledikten sonra ve bir dokunuşla alın
Devam düğmesi. AndroidManifest.xml
'te:
<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 şema ve ana makineye derin bağlantı içeren bir Dynamic Link sayfasını açtığında uygulamanız Bağlantıyı işlemek için bu intent filtresiyle etkinliği başlatın.
Derin bağlantıları işleme
Derin bağlantıyı almak için getDynamicLink()
yöntemini çağırın:
Kotlin+KTX
Firebase.dynamicLinks .getDynamicLink(intent) .addOnSuccessListener(this) { pendingDynamicLinkData: 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) }
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); } });
İlginizi çekebilecek her etkinlikte getDynamicLink()
bağlantı amacıyla başlatılsa da
getIntent().getData()
kullanılıyor. getDynamicLink()
çağrısı, bağlantıyı alır ve bu verileri temizler. Böylece, uygulamanız tarafından yalnızca bir kez işlenir.
Genellikle ana etkinlikte ve bağlantıyla eşleşen intent filtreleri tarafından başlatılan tüm etkinliklerde getDynamicLink()
çağrılır.
Kayıt analizleri
Aşağıdaki etkinlikler 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 başlamadan önce Google Analytics uygulamasını yapılandırmanız gerekir. derin bağlantıyı alın. Aşağıdaki koşulların karşılanıp karşılanmadığını kontrol edin:
- Uygulamanızın giriş noktalarında
FirebaseDynamicLinks.getDynamicLink()
numarasını arayın: - Başlatıcı etkinlikleri. Ör.:
action="android.intent.action.MAIN"
category="android.intent.category.LAUNCHER"
. - Etkinlik giriş noktaları. Ör.:
onStart()
,onCreate()
. - Derin bağlantı etkinlikleri.
- Google Analytics'ü kurup kullanma:
- Google Analytics bağımlılığını ekleyin. Bu genellikle
google-services
Gradle eklentisi. - Uygulamanıza
google-services.json
yapılandırma dosyasını ekleyin. FirebaseDynamicLinks.getDynamicLink()
'u aramadan önceFirebaseAnalytics.getInstance()
'ü arayın.
Uygulama Bağlantılarını kullanarak Dynamic Links kullanımı
Android 6.0 (API düzeyi 23) ve sonraki sürümlerde, Android Uygulama Bağlantıları'nı kullanarak uygulamanızı, Dynamic Links uygulamanız zaten yüklüyken doğrudan işlemleri yürütecek şekilde ayarlayabilirsiniz.
Uygulamanızın SHA256 sertifika parmak izini Firebase konsolunda projenize eklediğinizden emin olun. Uygulama Bağlantıları web sitesi ilişkilendirmesinin kurulumu Dynamic Links tarafından gerçekleştirilecek. Dynamic Links alanınız.
Dynamic Link ayarını işleyecek Etkinliğe otomatik doğrulanmış bir intent filtresi ekleyin.
projenizin Dynamic Links alan adına barındırmak için
Firebase konsolunda bulunur. AndroidManifest.xml
'te:
<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
değerinin, derin bağlantınızın alanı yerine Dynamic Links alanınıza ayarlanması gerektiğini unutmayın.
Uygulama bağlantılarının etkinleşmesi için manifest'inizdeki tüm autoVerify
intent filtrelerinin kayıtlı olması gerekir. Firebase, bu işlemi Dynamic Links alanlarınız için otomatik olarak yapar ancak Dynamic Links alanınızda barındırılan assetlinks.json
dosyasını açarak bu durumu kontrol edebilirsiniz:
https://YOUR_DOMAIN/.well-known/assetlinks.json
Dynamic Links artık doğrudan uygulamanıza gönderilecek. Derin bağlantıyı ve diğer
Uygulama Bağlantılarını eklediğiniz Etkinlik'te getDynamicLink()
numaralı telefonu arayarak Dynamic Link veri
intent filtresine (bkz.
Derin bağlantıları işleyin).
Not: Uygulama bağlantıları aracılığıyla çağrılma, kullanıcıyı doğrudan uygulamaya yönlendirdiğinden dinamik bağlantılar, gerekli minimum sürümü karşılayamaz. Bu nedenle, uygulama açıldığında Dinamik Bağlantı'nın minimum sürümünü ( getminimumappversion) PackageInfo.versionCode ile karşılaştırmanız ve gerekirse getUpdateAppIntent kullanarak kullanıcıyı uygulamayı yükseltmeye yönlendirmeniz gerekir.