Oluşturduğunuz Firebase Dynamic Links'i almak için, uygulamanıza Dynamic Links SDK'sını eklemeniz ve uygulamanız yüklendiğinde Dinamik Bağlantı'da geçirilen verileri almak 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ı kaydettiğinizde SHA-1 imzalama anahtarınızı belirtin. Uygulama Bağlantılarını kullanıyorsanız, SHA-256 anahtarınızı da belirtin.
Firebase Android BoM'yi kullanarak, modülünüzdeki (uygulama düzeyinde) Gradle dosyanızdaki (genellikle
app/build.gradle
) Dynamic Links Android kitaplığının bağımlılığınıapp/build.gradle
.Dinamik Bağlantılarla optimum deneyim için, projenizde Google Analytics'i etkinleştirmenizi öneririz. Ayrıca, Analytics kurulumunun bir parçası olarak, Google Analytics için Firebase SDK'sını uygulamanıza eklemeniz gerekir.
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.3.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'yi kullandığınızda , uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) Bom kullanmadan Firebase kütüphane bağımlılıklarını beyan
Firebase BoM'yi kullanmamayı seçerseniz, bağımlılık satırında her Firebase kitaplık sürümünü belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanırsanız, kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı önemle 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:19.1.1' implementation 'com.google.firebase:firebase-analytics:18.0.1' }
Kotlin + KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.3.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'yi kullandığınızda , uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) Bom kullanmadan Firebase kütüphane bağımlılıklarını beyan
Firebase BoM'yi kullanmamayı seçerseniz, bağımlılık satırında her Firebase kitaplık sürümünü belirtmeniz gerekir.
Uygulamanızda birden çok Firebase kitaplığı kullanırsanız, kitaplık sürümlerini yönetmek için BoM'yi kullanmanızı önemle 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:19.1.1' implementation 'com.google.firebase:firebase-analytics-ktx:18.0.1' }
- Firebase konsolunda Dinamik Bağlantılar bölümünü açın. Yapmanız 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. Dinamik Bağlantı, uygulamanız yüklüyse alanınıza yeniden yönlendireceğinden, amaç filtresi alanınızın derin bağlantılarını yakalamalıdır. Bu, uygulamanızın Dinamik Bağlantı verilerini Play Store'dan yüklendikten / güncellendikten sonra ve Devam düğmesine bir kez dokunduktan sonra 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, şemaya ve belirttiğiniz barındırıcıya 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ı işleyin
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) }
Sen çağırmalıdır
getDynamicLink()
bağlantı niyet kullanmaktan mevcut olsa bile, bağlantı tarafından başlatılan olabilir, her aktivitedegetIntent().getData()
.getDynamicLink()
, bağlantıyı alır ve bu verileri temizler, 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 tüm etkinliklerde
getDynamicLink()
.Analitiği kaydedin
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, 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:
- Uygulama giriş noktalarınızda
FirebaseDynamicLinks.getDynamicLink()
çağırın: - Başlatıcı etkinlikleri. örneğin:
action="android.intent.action.MAIN"
,category="android.intent.category.LAUNCHER"
. - Aktivite 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. - Çağrı
FirebaseAnalytics.getInstance()
çağırmadan önceFirebaseDynamicLinks.getDynamicLink()
.
Uygulama Bağlantılarını Kullanarak Dinamik Bağlantıları İşleme
Android 6.0 (API seviyesi 23) ve sonraki sürümlerde, Android Uygulama Bağlantılarını kullanarak uygulamanızı Dinamik Bağlantıları doğrudan uygulamanız yüklendiğinde işleyecek şekilde ayarlayabilirsiniz.
Firebase konsolunda uygulamanız için SHA256 sertifikası dijital parmak izini projenize eklediğinizden emin olun. Dynamic Links, Dynamic Links alanınız için Uygulama Bağlantıları web sitesi ilişkilendirmesinin kurulmasını sağlar.
Dinamik Bağlantıyı işleyecek Etkinliğe otomatik olarak doğrulanmış bir amaç filtresi ekleyin ve ana makineyi Firebase konsolunda bulunan projenizin Dynamic Links 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 alan adına değil, Dinamik Bağlantılar alanınıza ayarlanması gerektiğini unutmayın.Uygulama Bağlantılarının devreye girebilmesi için bildiriminizdeki tüm
autoVerify
amaç filtrelerinin kaydedilmesi gerekir. Firebase, bunu Dynamic Links alanlarınız için otomatik olarak işler, ancak bunu Dynamic Links alanınızda barındırılanassetlinks.json
dosyasını açarak kontrol edebilirsiniz:https://YOUR_DOMAIN/.well-known/assetlinks.json
Tüm Firebase uygulamalarınızın paket adları dahil edilmelidir.Dynamic Links artık doğrudan uygulamanıza gönderilecek. Uygulama Bağlantıları amaç filtresini eklediğiniz Aktivitede
getDynamicLink()
çağırarak derin bağlantı ve diğer Dinamik Bağlantı verilerinigetDynamicLink()
Derin bağlantıları işleme bölümünde açıklandığı gibi).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 2020-10-06 UTC.