Dinamik Bağlantılar için özel alan adı ayarlama

Dynamic Links alt alanı yerine kendi alanınızı kullanarak page.link markanız üzerinde daha fazla kontrol sahibi olabilirsiniz. Özel alan adlarıyla aşağıdaki gibi Dynamic Links oluşturabilirsiniz:

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

URL'nin link-suffix işaretinden önceki kısmına URL öneki denir ve hem özel Dynamic Link alanınızı hem de bir yol önekini içerir. Dynamic Links oluştururken bir URL öneki sağlamanız gerekir.

Özel alan adı ayarlamak için Firebase projenizde Düzenleyici veya Sahip izni gerekir.

Web alanınızı Dynamic Links için kullanma

Dynamic Links, web sayfalarınız, Geçiş Bağlantılarınız ve Uygulama Bağlantılarınız için aynı alanı kullanabilirsiniz. Ancak bu durumda, Dynamic Links URL'lerinizin web URL'lerinizle çakışmadığından emin olmanız gerekir. Dynamic Links'yı belirli bir URL önekini kullanacak şekilde yapılandırdığınızda, bu önekle başlayan tüm URL'ler Dynamic Links olarak kabul edilir. Bu nedenle, bu öneke sahip URL'leri normal barındırılan içeriğe yönlendirmek için kullanamazsınız.Dynamic Link

Örneğin, kaynağa (bir web sayfası, geçiş bağlantısı veya uygulama bağlantısı) Dynamic Link oluşturmak istiyorsanız https://example.com/ URL önekini Dynamic Links olarak kullanamazsınız. Aksi takdirde https://example.com/my-resource, Dynamic Link olarak değerlendirilir.https://example.com/my-resource Bunun yerine, farklı bir alan adı veya farklı bir yol öneki içeren bir URL öneki kullanmanız gerekir.

Bu nedenle, Dynamic Links parametresiyle belirtilen URL'ler Dynamic Link URL ön ekiyle (https://example.com/) başladığı için aşağıdaki uzun biçimli Dynamic Links (ve eşdeğer kısa bağlantılar) amaçlandığı gibi çalışmaz:link

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

Ancak aşağıdaki uzun biçimli Dynamic Links (ve eşdeğer kısa bağlantılar) çalışabilir. Bunun nedeni, URL öneklerinin link URL'leriyle çakışmamasıdır:

 https://link.example.com/?link=https://example.com/my-resource
 https://example.com/links/?link=https://example.com/my-resource
 https://ex.amp.le/?link=https://example.com/my-resource

Firebase konsolunda özel alan ayarlama

Özel alanları genellikle tamamen Firebase konsolunda ayarlayabilirsiniz. Bunun için:

  1. Projeniz için Firebase Hosting'ı ayarlamadıysanız Firebase konsolunun Hosting sayfasını açın, Başlayın'ı ve kurulum talimatlarını tıklayın. Şu anda belirtilen adımları tamamlamanız gerekmez.

  2. Firebase konsolunun Dynamic Links sayfasını açın.

  3. Dynamic Links'ı daha önce kullanmadıysanız Başlayın'ı tıklayın. Aksi takdirde, açılır menüden URL öneki ekle'yi tıklayın.

    Ardından, kurulum sihirbazını tamamlayın ve istendiğinde kullanmak istediğiniz alan ile yol önekini belirtin.

  4. Yalnızca iOS: Xcode projenizin Info.plist dosyasında FirebaseDynamicLinksCustomDomains adlı bir anahtar oluşturun ve bunu uygulamanızın Dynamic Links URL ön eklerine ayarlayın. Örneğin:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

Özel alanı manuel olarak ayarlama

Bazı durumlarda (ör. Dynamic Links için özel bir alanınız varsa ve başka bir alan eklemek istiyorsanız ya da Hosting sitesine bağlı bir alan ekliyorsanız) özel alanınızı manuel olarak ayarlamanız gerekir.

Bunu yapmak için:

  1. Henüz yapmadıysanız alanınızı Firebase Hosting'e bağlayın.

    Alanınızı Firebase Hosting ile ayarlamak için yerel proje dizininizde firebase.json yapılandırma dosyasını oluşturmanız gerekir.

  2. Firebase KSA'nın en son sürümüne (v6.5.0 veya sonraki bir sürüm) güncelleyin.

  3. Projenizin firebase.json dosyasında Hosting sitenizi Dynamic Links için yapılandırın. Projenizde birden fazla site varsa kullanmak istediğiniz alana bağlı siteyi yapılandırdığınızdan emin olun.

    • appAssociation değerini AUTO olarak ayarlayın. Bu ayarla, Hosting istendiğinde assetlinks.json ve apple-app-site-association dosyalarını dinamik olarak oluşturur.

    • Yeniden yazma kurallarını dynamicLinks true olarak ayarlayarak Dynamic Links için kullanmak istediğiniz yol öneklerini belirtin. Bu yollara yapılan istekler Dynamic Links üzerinden yönlendirilir.

      Yolları URL'lere yeniden yazan kuralların aksine, Dynamic Link yeniden yazma kuralları normal ifadeler içeremez.

      Siteniz için birden fazla yeniden yazma kuralınız varsa Hosting'nın istekle eşleşen ilk yeniden yazma kuralını yürüteceğini unutmayın.

    Örneğin:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    Yukarıdaki yapılandırmayla, aşağıdaki örneklerdeki gibi URL önekleriyle Dynamic Links oluşturabilirsiniz:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    Bu alanı yalnızca Dynamic Links için kullanıyorsanız yol öneki olmadan Dynamic Links oluşturmak için /** kaynak yolunu kullanabilirsiniz:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    Yukarıdaki kuralı kullanarak aşağıdaki örnekteki gibi Dynamic Links oluşturabilirsiniz:

    https://your-domain/link-suffix

  4. Hosting yapılandırma değişikliklerinizi dağıtın:

    firebase deploy --only hosting

    (İsteğe bağlı) Dağıtılan firebase.json içeriği Hosting REST API'yi kullanarak kontrol edebilirsiniz.

  5. Yalnızca iOS: Xcode projenizin Info.plist dosyasında FirebaseDynamicLinksCustomDomains adlı bir anahtar oluşturun ve bunu uygulamanızın Dynamic Links URL ön eklerine ayarlayın. Örneğin:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Dynamic Links ve Hosting için öncelik sırası

Dynamic Links için özellikle barındırma önceliği sırasına dikkat edin.

  • Dynamic Links URL önekinizin, daha yüksek öncelikli barındırma yapılandırmalarıyla (ör. barındırılan statik içerik her zaman yeniden yazmalara göre önceliklidir) çakışmadığından emin olun.
  • rewrites özelliğinde, Hosting yanıtı, istenen yolu yakalayan ilk source glob tarafından belirtilen kurala uyar.

Örneğin, Dynamic Link için your-domain/source-path/link-suffix ayarlarsanız ancak your-domain/source-path/index.html adresinde statik içeriğiniz de varsa statik içerik öncelikli olur. Son kullanıcı, Dynamic Link yerine index.html simgesini görür. Benzer şekilde, your-domain/source-path/link-suffix konumunda statik içeriğiniz varsa son kullanıcı Dynamic Link yerine statik içeriği görür.

Hem Dynamic Links hem de Hosting için aynı markayı kullanmak istiyorsanız Dynamic Links URL ön ekiniz için aşağıdaki seçeneklerden birini kullanabilirsiniz:

  • source özelliğinizi bir yol önekiyle eşleşecek şekilde ayarlayın. Örneğin, example.com özel alanınız varsa yeniden yazma kuralınız şu şekilde olabilir:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Dynamic Links için kullanılacak bir alt alan adı oluşturun, ardından source özelliğini bu alt alan adıyla eşleşecek şekilde ayarlayın. Örneğin, links.example.com alt alan adınız varsa yeniden yazma kuralınız şu şekilde olabilir:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]