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

page.link alt alan adı yerine kendi alanınızı kullanarak Dynamic Links'teki marka bilinci oluşturma çalışmalarınız üzerinde daha fazla kontrol sahibi olabilirsiniz. Özel alanlarla aşağıdaki örnekler gibi Dinamik Bağlantılar 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 tarihinden önceki bölümüne URL ön eki denir ve hem özel Dinamik Bağlantı alan adınızı hem de yol ön ekinizi içerir. Dinamik Bağlantılar oluştururken bir URL öneki sağlamanız gerekir.

Özel alan oluşturmak için Firebase projenizde Düzenleyici veya Sahip izni gerekir.

Dinamik Bağlantılar için web alan adınızı kullanma

Dinamik Bağlantılar ve web sayfalarınız, Evrensel Bağlantılarınız ve Uygulama Bağlantılarınız için aynı alan adını kullanabilirsiniz. Ancak bunu yaparsanız Dinamik Bağlantı URL'lerinizin web URL'lerinizle çakışmayacağından emin olmanız gerekir. Dinamik Bağlantılar'ı belirli bir URL ön eki kullanacak şekilde yapılandırdığınızda, bu önekle başlayan tüm URL'ler Dinamik Bağlantılar olarak ele alınır. Dolayısıyla bu önekli URL'leri sıradan barındırılan içeriğe işaret eden URL'ler olarak kullanamazsınız.

Örneğin, https://example.com/my-resource kaynağı (bir web sayfası, Geçiş Bağlantısı veya Uygulama Bağlantısı) için Dinamik Bağlantı oluşturmak isterseniz Dynamic Links URL ön eki olarak https://example.com/ URL'sini kullanamazsınız. Bunun nedeni, bu durumda https://example.com/my-resource öğesinin Dinamik Bağlantı olarak değerlendirilmesine yol açar. Bunun yerine, farklı alan adına veya farklı yol ön ekine sahip bir URL öneki kullanmanız gerekir.

Bu nedenle, link parametresi tarafından belirtilen URL'ler Dinamik Bağlantı URL'si önekiyle (https://example.com/) başladığından aşağıdaki uzun biçimli Dinamik Bağlantılar (ve eşdeğer kısa bağlantılar) amaçlandığı gibi çalışmaz:

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

Ancak URL önekleri link URL'leriyle çakışmadığından aşağıdaki uzun biçimli Dynamic Links (ve eşdeğer kısa bağlantılar) çalışabilir:

 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

Genellikle Firebase konsolunda tamamen özel bir alan oluşturabilirsiniz. Bunu yapmak için:

  1. Projeniz için Firebase Hosting'i kurmadıysanız Firebase konsolunun Barındırma sayfasını açın, Başlayın'ı tıklayın ve kurulum talimatlarını tıklayın. Belirtilen adımları şu anda tamamlamanız gerekmiyor.

  2. Firebase konsolunun Dinamik Bağlantılar sayfasını açın.

  3. Dynamic Links'i 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, istendiğinde kullanmak istediğiniz alan adını ve yol ön ekini belirterek kurulum sihirbazını tamamlayın.

  4. Yalnızca iOS: Xcode projenizin Info.plist dosyasında FirebaseDynamicLinksCustomDomains adında bir anahtar oluşturun ve bunu uygulamanızın Dynamic Links URL'si ön eklerine ayarlayın. Örnek:

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

Manuel olarak özel alan oluşturma

Dinamik Bağlantılar için ayarlanmış özel bir alanınız olduğu halde başka bir alan eklemek istediğinizde veya bir Hosting sitesine zaten bağlı olan bir alan eklerken özel alanınızı manuel olarak oluşturmanız gerekebilir.

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, yerel proje dizininizde firebase.json yapılandırma dosyasını oluşturmayı içerir.

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

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

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

    • dynamicLinks ile yeniden yazma kurallarını true olarak ayarlayarak Dynamic Links için kullanmak istediğiniz yol öneklerini belirtin. Bu yollara yönelik istekler, Dynamic Links'e proxy üzerinden gönderilir.

      URL'lere giden yolları yeniden yazan kuralların aksine, Dinamik Bağlantı yeniden yazma kuralları normal ifadeler içeremez.

      Siteniz için birden fazla yeniden yazma kuralınız varsa Barındırma'nın istekle eşleşen ilk yeniden yazma kuralını yürüttüğünü unutmayın.

    Örnek:

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

    Yukarıdaki yapılandırmayla, aşağıdaki örnekler gibi URL ön eklerine sahip Dinamik Bağlantılar oluşturabilirsiniz:

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

    Bu alan adını yalnızca Dinamik Bağlantılar için kullanıyorsanız yol ön eki olmadan Dinamik Bağlantılar oluşturmak için /** kaynak yolunu kullanabilirsiniz:

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

    Yukarıdaki kuralla aşağıdaki örnek 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ğini Hosting REST API'yi kullanarak kontrol edebilirsiniz.

  5. Yalnızca iOS: Xcode projenizin Info.plist dosyasında FirebaseDynamicLinksCustomDomains adında bir anahtar oluşturun ve bunu uygulamanızın Dynamic Links URL'si ön eklerine ayarlayın. Örnek:

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

Dinamik Bağlantılar ve Barındırma için öncelik sırası

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

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

Örneğin, your-domain/source-path/link-suffix için Dinamik Bağlantı oluşturduysanız ancak your-domain/source-path/index.html adresinde de statik içeriğiniz varsa statik içeriğe öncelik verilir. Son kullanıcı, Dinamik Bağlantı yerine index.html adını görür. Benzer şekilde, your-domain/source-path/link-suffix adresinde statik içeriğiniz varsa son kullanıcı Dinamik Bağlantı yerine statik içeriği görür.

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

  • source özelliğinizi bir yol önekiyle eşleşecek şekilde ayarlayın. Örneğin, example.com şeklinde özel bir alanınız varsa yeniden yazma kuralınız şöyle 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ı ayarlayın, ardından source özelliğinizi 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
    } ]