kullanıyorsanız, uygulamanıza Dynamic Links SDK'sını dahil etmeniz ve
FirebaseDynamicLinks.getDynamicLink()
yöntemini kullanarak uygulamanız
Dinamik Bağlantı'da iletilen verileri alın.
Firebase ve Dynamic Links SDK'sını ayarlar
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
), ve Android için Dynamic Links kitaplığına yönelik bağımlılığı ekleyin. Şunu kullanmanızı öneririz: Firebase Android BoM Kitaplık'ta sürüm oluşturmayı kontrol etmek içinDinamik Bağlantılar ile optimum deneyim için Google Analytics'i 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'u kullanarak, Uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanacaktır.
(Alternatif) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz 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. Böylece, uyumlu olur.
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 Dinamik Bağlantılar'ı açın. bölümüne bakı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ü
Dinamik Bağlantı, uygulamanız yüklüyse alan adınıza yönlendirir. Bu, uygulamanızın şunları yapması için gereklidir:
Dinamik Bağlantı verilerini Play Store'dan yüklendikten/güncellendikten sonra ve
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 dinamik bağlantıyı 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'te otomatik olarak izlenebilir ve Firebase konsolu.
dynamic_link_app_open
dynamic_link_first_open
dynamic_link_app_update
Bu etkinlikleri kaydetmek için başlamadan önce Google Analytics'i 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. ör.
action="android.intent.action.MAIN"
,category="android.intent.category.LAUNCHER"
. - Etkinlik giriş noktaları. ör.
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. -
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 Dinamik Bağlantıları yönetme
Android 6.0 (API düzeyi 23) ve daha yeni sürümlerde uygulamanızı Dynamic Links'i 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 konsolunu kullanın. Dynamic Links, Dynamic Links alan adınız.
Dinamik Bağlantı'yı işleyecek Etkinliğe otomatik doğrulanmış bir intent filtresi ekleyin.
projenizin Dynamic Links alan adında ana makine olarak
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ının 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, bunu Dynamic Links alanlarınız için otomatik olarak yapar ancak
Bunun için Dynamic Links alan adı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 Dinamik Bağlantı verileri
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.