Firebase Dynamic Links almak için
oluşturduğunuza göre, uygulamanıza Dynamic Links SDK'sını eklemeniz ve
FirebaseDynamicLinks.getDynamicLink()
yöntemini kullanarak uygulamanız
Dynamic Link içinde iletilen verileri alın.
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. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinEn 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.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 kullanıldığında, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) Firebase kitaplığı bağımlılıklarını kullanmadan BoM
Firebase BoM kullanmamayı seçerseniz 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. 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.0.2' }
. - Firebase konsolunda Dynamic Links uygulamasını açın bölümüne ekleyin. İ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
ürününde:
<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ı yönetme
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()
aranıyor
bağlantıyı alır ve bu verileri temizler. Böylece veriler,
uygulamasını indirin.
Normalde getDynamicLink()
adlı kişiyi ana etkinlikte de ararsınız
bağlantıyla eşleşen intent filtreleri tarafından başlatılan tüm etkinlikler gibi.
Analizleri kaydet
Aşağıdaki etkinlikler Google Analytics üzerinde otomatik olarak izlenebilir ve Firebase konsolu.
dynamic_link_app_open
dynamic_link_first_open
dynamic_link_app_update
Bu etkinlikleri kaydetmek için uygulamadan ö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: - Launcher etkinlikleri. e.g.:
action="android.intent.action.MAIN"
,category="android.intent.category.LAUNCHER"
. - Etkinlik giriş noktaları. e.g.:
onStart()
,onCreate()
. - Derin bağlantı etkinlikleri.
- Google Analytics özelliğini kurun ve kullanın:
- Google Analytics bağımlılığını dahil edin. Bu genellikle
google-services
Gradle eklentisi. -
Uygulamanızda
google-services.json
yapılandırma dosyası bulunmalıdır. - Aramadan önce
FirebaseAnalytics.getInstance()
adlı kişiyi arayınFirebaseDynamicLinks.getDynamicLink()
.
Uygulama Bağlantılarını kullanarak Dynamic Links kullanımı
Android 6.0 (API düzeyi 23) ve sonraki sürümlerde uygulamanızı Dynamic Links işleyecek şekilde ayarlayabilirsiniz öğesini kullanarak doğrudan uygulamanız zaten yüklendiğinde Android Uygulama Bağlantıları.
Uygulamanız için SHA256 sertifika parmak izini Firebase konsolunda bulabilirsiniz. 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. İçinde
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
öğesinin, alan adına değil, Dynamic Links alan adınıza ayarlanması gerektiğini unutmayın
derin bağlantınızın.
Uygulama için manifest dosyanızdaki tüm autoVerify
intent filtreleri kaydedilmelidir.
Etkileşime geçme bağlantıları. Firebase, Dynamic Links alanlarınız için bunu otomatik olarak işler ancak kontrol edebilirsiniz
Bunun için Dynamic Links alanınızda barındırılan assetlinks.json
dosyasını açın:
https://YOUR_DOMAIN/.well-known/assetlinks.jsonTüm Firebase uygulamalarınızın paket adlarının eklenmesi gerekir.
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ı yapmak kullanıcıyı doğrudan uygulamaya yönlendirdiğinden, Dinamik Bağlantı, gerekli minimum sürümü karşılayamıyor. Uygulama açıldığında, Dinamik Bağlantının minimum sürümünü ( getminimumappversion) önceindeki PackageInfo.versionCode ve gerekirse kullanarak kullanıcıyı uygulamayı yükseltmeye yönlendirir getUpdateAppIntent'i seçin.