Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Android'de Firebase Dinamik Bağlantılarını Alın

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.

  1. 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.

  2. 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'
    }
    
  3. Firebase konsolunda Dinamik Bağlantılar bölümünü açın. Yapmanız istenirse hizmet şartlarını kabul edin.

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ı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 aktivitede getIntent().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 önce FirebaseDynamicLinks.getDynamicLink() .

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ılan assetlinks.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ı verilerini getDynamicLink() Derin bağlantıları işleme bölümünde açıklandığı gibi).