Dynamic Links'ten Uygulama Bağlantıları'na ve Geçiş Bağlantıları'na geçiş

Bu geçiş rehberi, Uygulama Bağlantıları ve Geçiş Bağlantıları isteğe bağlı olarak uygulama-site ilişkilendirme dosyalarınızı barındırmak için Firebase Hosting'i kullanabilirsiniz.

Bu taşıma işlemi, aşağıdaki Firebase Dynamic Links özelliklerinin yerini alır:

Özellik Firebase Dynamic Links Uygulama Bağlantıları / Geçiş Bağlantıları
Tek bir bağlantı tıklamasıyla kullanıcıları cihazları için doğru mağazaya yönlendirin.
İndirme işleminden sonra kullanıcılara yolculuklarını devam ettirmeli ve uygulamanızı, ertelenen derin bağlantı kullanarak yükleme
Google Cloud'da derin bağlantılı içerikleri kullanarak uygulamanız (yüklü olduğunda)
Dinamik bağlantı tıklama etkinlikleriyle ilgili analiz verileri sağlama
Kısa bağlantı URL'leri oluşturma olanağı sağlama

Taşıma işleminiz için diğer Firebase Dynamic Link özelliklerine ihtiyacınız devam ediyorsa daha fazla bilgi edinmek için Dinamik Bağlantıların Kullanımdan Kaldırılmasıyla İlgili SSS belgelerinden faydalanabilirsiniz.

Aşağıdaki gibi görünen bir Firebase Dynamic Link'iniz olduğunu varsayalım:

Dinamik Bağlantı Örneği
Bağlantı adı Ornek.com'a hoş geldiniz
Derin bağlantı https://example.web.app/welcome
Android uygulaması com.example.android
Apple uygulaması com.example.ios
Uzun Dinamik Bağlantı https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
Kısa Dinamik Bağlantı https://example.page.link/m9Mm

Bu taşıma rehberinin amacı, Firebase Dynamic Links'i aşağıdaki gibi değiştirmektir:

https://example.page.link/m9Mm

Aşağıdaki gibi görünen Uygulama Bağlantısı / Evrensel Bağlantı derin bağlantılarıyla:

https://your-project-domain.web.app/welcome

Uygulama Bağlantısı / Geçiş Bağlantısı derin bağlantısının, aşağıdaki adımları uygulayın:

  • Tıklayabilecekleri, uygulamanızı yüklemiş olduklarında açacak bir derin bağlantı
  • Kullanıcıları belirli bir bölüme yönlendiren kullanıcı yolculuğunun devamı uygulamanızın açılış sayfası

Ancak Uygulama Bağlantısı / Geçiş Bağlantısı derin bağlantısında aşağıdaki bilgiler sağlanmaz kullanıcılarınızın davranışları (Firebase Dynamic Links daha önce kullanıyordu):

  • Cihazları indirmeleri ve indirmeleri için kullanıcıları doğru mağazaya yönlendirmek uygulamanızı yükleyin
  • İndirmeden sonraki kullanıcı yolculuğunun devamını sağlayarak Uygulamayı ilk kez yükleme ve ilk kez açma

Bu uygulamaların davranış ve işlevlerindeki farklılıkları not edin Bağlantılar / Geçiş Bağlantıları ile Firebase Dynamic Links'in karşılaştırılması bulabilirsiniz.

Başlamadan önce

Firebase Dynamic Links, Android'de App Links ve Universal Links ( iOS) uygulama içinde kendi derin bağlantı olanaklarını işlevlerinden yararlanabilirsiniz.

Bu kılavuzda, kendi Uygulama Bağlantılarınızı ve Geçiş Bağlantılarınızı nasıl oluşturacağınız adım adım açıklanmaktadır. Firebase Hosting tarafından sağlanan işlevin bu bölümünü Firebase Dynamic Links'i yeni sürüme geçirirken Firebase Dynamic Links Uygulama Bağlantıları / Geçiş Bağlantıları taşıma çözümü.

Doğrulama işleminizi tamamlamak için aşağıdaki bilgilere ihtiyacınız olacaktır taşıma:

  • Taşımayı düşündüğünüz Firebase Dynamic Links
  • Dinamik bağlantılarınıza dahil edilen derin bağlantı URL parametreleri
  • Önceki Firebase Dynamic'inizin yerine kullanmayı planladığınız alan adı Bağlantı alanı (varsa)

Dinamik Bağlantıları Dışa Aktarma Meta Verilerini Dışa Aktarma kılavuzunu kullanabilirsiniz. dışa aktarmak için kullanabilirsiniz. yukarıda belirtilen bilgileri almalısınız.

Taşıma adımlarına genel bakış

  1. Yeni bir alan adı sağlama (kullanmak istediğiniz bir alan adınız yoksa) Firebase kullanarak Uygulama Bağlantısı / Geçiş Bağlantı yapılandırma dosyalarınızı barındırmak için Barındırma.

  2. Uygulama Bağlantısı / Geçiş Bağlantı yapılandırma dosyalarınızı şurada oluşturun ve barındırın: barındırma alanınız.

  3. Derin bağlantı şemasıyla eşleşen yeni Uygulama Bağlantıları / Geçiş Bağlantıları oluşturun Firebase Dynamic Links'te kullanılır.

  4. Derin bağlantıları almak için Android / iOS uygulamalarınızı ve uygulama kodunuzu güncelleyin.

  5. Uygulama Bağlantıları / Geçiş Bağlantıları entegrasyonlarınızı test etme

  6. Yayınlanan veya paylaşılan Firebase Dynamic Links'i App Links ile değiştirin ve Geçiş Bağlantıları.

İlk adım olarak hem Uygulama Bağlantıları hem de Evrensel Bağlantı taşıma akışlarında ortak olacaktır. İlgili içeriği oluşturmak için kullanılan kalanlar platforma bağlı olarak değişiklik gösterir. Bu nedenle, kılavuza ihtiyacınız var.

Alan adı seçin

İlk adım, Uygulama Bağlantılarınız için kullanmak istediğiniz bir alan seçmektir. Geçiş Bağlantıları Bu, yeni bağlantılar için kullanılacak alan adı olacaktır e-tablonuz veya e-postalar alırsınız.

Şunu kullanıyorsanız: Firebase Hosting, your-project-domain.web.app biçimindeki proje alt alan adları veya your-project-domain.firebaseapp.com ücretsiz olarak otomatik olarak sağlanır. Siz barındırmak için Firebase Hosting ile veya Firebase Hosting olmadan özel bir alan kullanabilirsiniz. Uygulama Bağlantısı / Evrensel Bağlantı yapılandırma dosyaları da.

Firebase Hosting'i ayarlayın

Daha sonra yapmanız gerekenler Firebase Hosting örneğinizi oluşturun ve yapılandırın.

Firebase Barındırma örneğinizin kurulumunu tamamladığınızda: your-project-domain.web.app ile benzer bir alan veya özel alan adı tercih edebilirsiniz.

Uygulama Bağlantılarını kullanmak için, uygulamanın Google tarafından bağlantılarınızda kullanılan alan adı ile web siteniz arasında güvenli bir ilişki kurun uygulamasını indirin. Uygulama Bağlantıları için bu, assetlinks.json dosyasıdır.

assetlinks.json dosyasını oluşturma ve barındırma adımları

assetlinks.json dosyası, aşağıdaki işlemi yapma yetkisi olan yetkili uygulamaların listesini bize sunmamıza olanak tanır: , Uygulama Bağlantılarımız için kullanacağımız web alan adının içeriğini işleyebilir. İlgili içeriği oluşturmak için kullanılan assetlinks.json dosyasının kendisinin web alan adının kök düzeyinde barındırılması gerekir. şu yolun altında: /.well-known.

Bu yapılandırmayı tamamlamak için aşağıdaki adımları uygulayın:

  1. Klasörünüzdeki ortak klasörün altında .well-known klasörünü oluşturun. Firebase Hosting kök dizini.

  2. .well-known klasörü altında assetlinks.json adlı bir dosya oluşturun.

  3. Aşağıdaki içeriği, şunları göz önünde bulundurarak assetlinks.json dosyanıza kopyalayın: aşağıdaki her alanın anlamını görebilirsiniz:

    [{
      "relation": ["delegate_permission/common.handle_all_urls"],
      "target": {
        "namespace": "android_app",
        "package_name": "com.example.android",
        "sha256_cert_fingerprints":
          ["01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF:01:23:45:67:89:AB:CD:EF"]
      }
    }]
    
    • namespace - sağlamak istediğiniz uygulamanın adını ifade eder
    • package_name - uygulamanın build.gradle dosya
    • sha256_cert_fingerprints - anahtar deposu dosyasını kullanabilirsiniz.

    Android Studio tarafından kullanılan Debugger.keystore dosyasını kullanarak sha256_cert_fingerprints kaydını kullandığınızdan emin olun. Daha fazla Mac ve Linux'ta /Users/<username>/.android/debug.keystore ve Windows'da C:\Users\<username>\.android\debug.keystore.

    Bu anahtar deposundan, keytool'u kullanarak SHA256 değerini alabilirsiniz.

    Referans Uygulama Bağlantıları dokümanlarının bu bölümü ziyaret edin.

    Alternatif olarak, Uygulama Bağlantıları Asistanı assetlinks.json dosyası içeriklerini oluşturmak için uygulamanızı, Uygulama Bağlantılarını işleyecek şekilde yapılandırın.

  4. firebase.json dosyanızı, dosyayı barındırma için dizine ekleyecek şekilde güncelleyin.

    "headers": [
      {
        "source": "/.well-known/assetlinks.json",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. Artık assetlinks.json dosyanızı oluşturduğumuza göre firebase deploy komutunu çalıştırarak barındıran bir web sitesidir.

    Bunun için Firebase CLI'ya sahip olmanız gerektiğini unutmayın yukarıdaki dağıtım komutunu çalıştırmak üzere yüklenmiş olmalıdır.

    firebase deploy --only hosting
    
  6. Şu adrese giderek assetlinks.json dosyasını doğrulayın: https://your-project-domain.web.app/.well-known/assetlinks.json.

Bu adımda, Firebase Dynamic Links'inizdeki derin bağlantıları yeniden oluşturacaksınız Uygulamanız için oluşturduğunuz yeni alan adıyla eşleşen normal derin bağlantı URL'leri kullanarak Bağlantılar.

Örneğin, aşağıdaki Firebase dinamik bağlantısına sahip olduğunuzu varsayalım:

Dinamik Bağlantı Örneği
Bağlantı adı Ornek.com'a hoş geldiniz
Derin bağlantı https://example.web.app/welcome
Android uygulaması com.example.android
Apple uygulaması com.example.ios
Uzun Dinamik Bağlantı https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
Kısa Dinamik Bağlantı https://example.page.link/m9Mm

Bu durumda, URL'den derin bağlantı parametresini (ör. https://example.web.app/welcome ve artık bunu Uygulama Bağlantısı olarak kullanacak parametresini kullanabilirsiniz.

Bu işlemi, istediğiniz her Firebase Dinamik Bağlantısı için uygulama bağlantılarını / geçiş bağlantılarını kullanmaya başlamalı ve derin bağlantı oluşturma işlemini şemanıza göre görüntüleyebilirsiniz.

Örneğin, lütfen aşağıdaki Firebase Dynamic Links setine bakın kısa bağlantılar, derin bağlantı parametreleri ve taşınan derin bağlantı değerleri:

Kısa bağlantı Derin bağlantı parametresi Taşınan derin bağlantı
yourapp.page.link/welcome https://example.com/welcome yourapp.web.app/welcome
uygulamanız.page.link/c7sn https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
uygulamanız.page.link/sosyal https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1

Ardından, sitenizin URL'sine sahip olan Firebase Dynamic Links'in yayınlanmış veya taşınan yeni derin bağlantılarla paylaşılmış olup kullanıcıların Firebase Dynamic Links'in yerine bu Uygulama Bağlantıları'nı kullanabilirsiniz.

Alan seçimi, derin bağlantı şeması seçme ve Firebase Dynamic Links'i App Links'e taşımak, Android uygulamanızı güncellemektir uygulama kodunu da kullanabilirsiniz.

Sitenizin Uygulama Bağlantıları belgelerini burada bulabilirsiniz veya alternatif olarak Android Studio kılavuzu temel adımlar aşağıda verilmiştir, ancak temel adımlar şunlardır:

  1. İlgili derin bağlantıları işlemesi gereken etkinlikleri belirleme
  2. AndroidManifest.xml dosyanıza bu etkinlikler için Intent Filtresi ekleme dosya
  3. Etkinliklerinizde derin bağlantıyı alma uygulama kodu

Derin bağlantılardan bazılarını ele almak için ana etkinliğinizi kullanmak bağlantılarını kullanın. Bunu yapmak için aşağıdaki Intent Filtresini AndroidManifest.xml dosyanızdaki MainActivity:

<activity android:name=".MainActivity"
   android:exported="true">
   <intent-filter>
       <action android:name="android.intent.action.MAIN" />
       <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   <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.web.app" android:scheme="http"
           android:pathPrefix="/welcome" />
       <data android:host="example.web.app" android:scheme="https"
           android:pathPrefix="/welcome" />
   </intent-filter>
</activity>

Bu adımda, ana etkinliğin wxample.web.app alanından gelen derin bağlantıları işleme ve şunları içeren: /welcome yol öneki. Aynı zamanda android:autoVerify="doğru" özelliği gibi kullanabilirsiniz. Bu özellik, uygulamanızı için varsayılan işleyiciyi belirleyin.

Son olarak, derin bağlantı verilerini kullanabilir ve uygulamanızda derin bağlantı deneyimini desteklemek için kullanabilirsiniz. Bu entegre ettiğinizde, uygulamanızda kodlamış olabileceğiniz mantığa benzerdir. Firebase Dynamic Links ile.

override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.main)

  val  data: Uri? = intent?.data

  val toast = Toast.makeText(this, data, duration)
  toast.show()
}

Az önce oluşturduğunuz Uygulama Bağlantılarını, uygulamanızı bir fiziksel cihazda veya Android Emülatör.

Uygulamanız için yapılandırılan alan adını kullanarak tıklanabilir bir bağlantı oluşturmanız gerekir Bağlantıların ve ardından uygulamanızın açıldığından emin olmak için bu bağlantıyı tıklayın. sizi istenen etkinliğe yönlendirir.

Alternatif olarak, Uygulama Bağlantıları Asistanı veya izlediğiniz bir Uygulama Bağlantısı URL'si için şu komutu kullanın: yapılandırıldığından emin olun:

adb shell am start -a android.intent.action.VIEW -d <your_deep_link_url>

Taşıma işleminizin son adımı, yayınlanan veya paylaşılan Firebase Dynamic Links'i kullanarak mümkün olan her yerde Uygulama Bağlantıları'nı kullanma ve uygulama bağlantılarından yararlanmaya devam edeceğiz.

Bu adımı tamamlamak, bilgilerinizi nerede ve nasıl paylaştığınıza bağlı olarak Firebase Dynamic Links, ancak hangilerinin mevcut olduğunu izlemenize yardımcı olmak için mevcut Firebase Dynamic Link meta verilerinizi dışa aktarabilirsiniz. Görüntüleyin Dinamik Bağlantıları Dışa Aktarma Meta Verilerini Dışa Aktarma kılavuzu başlıklı makaleyi inceleyin.

Geçiş Bağlantıları'nı kullanmak için, bağlantıya yardımcı olan bir yapılandırma bağlantılarınızda kullanılan alan adı ile web siteniz arasında güvenli bir ilişki kurun uygulamasını indirin. Geçiş Bağlantıları için bu, apple-app-site-association dosyasıdır (ayrıca (AASA dosyası olarak bilinir)].

apple-app-site-association dosyasını oluşturma ve barındırma adımları

AASA dosyası, şu işlemleri yapabilen yetkili uygulamaların listesini sağlamamıza olanak tanır: . AASA dosyasının kendisi şu yol altında web alanının kök dizininde barındırılmalıdır: /.well-known.

Bu yapılandırmayı tamamlamak için aşağıdaki adımları uygulayın:

  1. ".well-known" dosyasını oluşturun herkese açık klasörün altında yer alan klasörünüzü Firebase Hosting kök dizini.

  2. "apple-app-site-association" adlı bir dosya oluşturun. altında ".iyi-bilinen" tıklayın.

  3. Aşağıdaki içeriği apple-app-site-association dosyanıza kopyalayın, aşağıdaki alanların anlamlarına dikkat edin:

    {
      "applinks": {
        "apps": [],
        "details": [
          {
            "appId": "$TEAM_ID.com.firebase.UniversalLinks",
            "paths": [
              "NOT /_/*",
              "/*"
            ]
          }
        ]
      }
    }
    
    • $TEAM_ID.BundleId - bağlantıları işle
  4. firebase.json dosyanızı, dosyayı barındırma için dizine ekleyecek şekilde güncelleyin.

    "headers": [
      {
        "source": "/.well-known/apple-app-site-association",
        "headers": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ]
      }
    ]
    
  5. Artık AASA dosyanızı oluşturduğumuza göre, anlamına gelir.

  6. AASA dosyasını doğrulamak için https://your-project-domain.web.app/.well-known/app-app-site-association

Bu adımda, Firebase Dynamic Links'inizdeki derin bağlantıları yeniden oluşturacaksınız için oluşturduğunuz yeni alan adıyla eşleşen normal derin bağlantı URL'lerini kullanarak Geçiş Bağlantıları

Örneğin, aşağıdaki Firebase dinamik bağlantısına sahip olduğunuzu varsayalım:

Dinamik Bağlantı Örneği
Bağlantı adı Ornek.com'a hoş geldiniz
Derin bağlantı https://example.web.app/welcome
Android uygulaması com.example.android
Apple uygulaması com.example.ios
Uzun Dinamik Bağlantı https://example.page.link/?link=https://example.web.app/welcome&apn=com.example.android&isi=123456789&ibi=com.example.iuos
Kısa Dinamik Bağlantı https://example.page.link/m9Mm

Bu durumda, şu derin bağlantı parametresini çıkarırsınız: ör. https://example.web.app/welcome ve artık bunu Universal Uygulamanızın bağlantı parametresi.

Bu işlemi, istediğiniz her Firebase Dinamik Bağlantısı için uygulama bağlantılarını / geçiş bağlantılarını kullanmaya başlamalı ve derin bağlantı oluşturma işlemini şemanıza göre görüntüleyebilirsiniz.

Örneğin, lütfen aşağıdaki Firebase Dynamic Links setine bakın kısa bağlantılar, derin bağlantı parametreleri ve taşınan derin bağlantı değerleri:

Kısa bağlantı Derin bağlantı parametresi Taşınan derin bağlantı
yourapp.page.link/welcome https://example.com/welcome yourapp.web.app/welcome
uygulamanız.page.link/c7sn https://example.com/main/?p=23&t=1 yourapp.web.app/main/?p=23&t=1
uygulamanız.page.link/sosyal https://example.com/friendinvite/?add=1 yourapp.web.app/friendinvite/?add=1

Ardından, sitenizin URL'sine sahip olan Firebase Dynamic Links'in yayınlanmış veya taşınan yeni derin bağlantılarla paylaşılmış olup kullanıcıların Firebase Dynamic Links'in yerine bu geçiş bağlantılarını kullanın.

Alan seçimi, derin bağlantı şeması seçme ve Firebase Dynamic Links'i Geçiş Bağlantıları'na taşımak, iOS'inizi güncellemek için uygulama ve uygulama kodunu ekleyin.

Sitenizin Geçiş Bağlantıları belgelerini burada bulabilirsiniz temel adımlar aşağıda verilmiştir, ancak temel adımlar şunlardır:

  1. Uygulamanızın derin verileri işleyebilmesi için proje yapılandırmanızı güncelleyin yeni oluşturulan alanınızdaki bağlantılar

  2. Derin bağlantıyı uygulama kodunuza ekleyin

Proje yapılandırmanızı güncellemek için uygulamanızın derin verileri bu bağlantıyı tıkladığınızda, projenize yeni bir İlişkilendirilmiş Alan Barındırmak istediğiniz alan için xCode apple-app-site-properties dosyasıdır.

Bunu yapmak için:

  1. Xcode'u açma
  2. Dosya gezgininde projenizi seçme
  3. İmzalama ve Proje ayarlarınızın Özellikler sekmesi
  4. İlişkili Alanlar bölümüne gidin
  5. Şurada projenize ilave alan eklemek için + düğmesini tıklayın: "applinks:" biçimini kullanın.

Son olarak, gelen derin bağlantılar.

Bunu yapmak için önce AppDelegate.swift dosyasını güncelleyerek bir Evrensel Bağlantı:

func application(_ application: UIApplication, continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
  AppDelegate.showReceivedUrl(userActivity: userActivity);
  return true
}

static func showReceivedUrl(userActivity: NSUserActivity) {
  if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
    let url = userActivity.webpageURL!
    print(url.absoluteString)
}

Yukarıdaki kod, Universal Link geri çağırma yöntemini geçersiz kılar ve bağlantı URL'sini (varsa) belirtin.

Şimdi SceneDelegate sınıfındaki aynı showReceivedUrl yöntemini çağıracağız. Ayrıca uygulama zaten açık durumdaysa kullanıcı ilk evrensel bağlantı, SceneDelegate içindeki evrensel bağlantı geri çağırması çağrılır.

func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
  AppDelegate.showReceivedUrl(userActivity: userActivity)
}

Yeni oluşturduğunuz Geçiş Bağlantılarını, uygulamanızı kullanarak - fiziksel cihaz veya simülatör olabilir.

Açıldığından emin olmak için Geçiş Bağlantıları'nı tıklayın ve ve sizi uygulamanızda istediğiniz ekrana götürür.

Akıllı Uygulama Banner'larını Destekleme

Şunu kesinlikle öneririz: Akıllı Uygulama Banner'ları Kullanıcılarınıza Firebase Dynamic'e benzer bir deneyim sunmanın bir yolu olarak Bağlantılar.

Akıllı Uygulama Banner'ları kullanıldığında kullanıcılarınız uygulamanızın App Store'a yönlendirilir (uygulamanız cihazlarında yüklü değilse bunu belirtir.) Ayrıca transkriptinizi isteğe bağlı olarak, indirildikten sonra uygulamanıza aktarılacak bir parametre yapılandırabilirsiniz ve kullanıcılarınızın yolculuklarını devam ettirmesi için yükleyin. Eğer uygulamanız zaten yüklüyse parametreyi dayalı olarak, kullanıcılarınızı uygun içeriğe götürecek olan Tıkladıkları banner.

Taşıma işleminizin son adımı, yayınlanan veya paylaşılan Firebase Dynamic Links'in, mümkün olduğunda evrensel bağlantılara sahip olması ve kullanmaya devam edebilirsiniz.

Bu adımı tamamlamak, bilgilerinizi nerede ve nasıl paylaştığınıza bağlı olarak Firebase Dynamic Links yayınlandı.

Taşınacak mevcut Firebase Dynamic Links'i takip etmenize yardımcı olmak için Firebase'den kısa bağlantı meta verilerinizi nasıl dışa aktaracağınızla ilgili bir kılavuz yayınlama Dinamik Bağlantılar. Lütfen Dinamik Bağlantıların Kullanımdan Kaldırılmasıyla İlgili SSS dokümanı daha fazla güncelleme için.