Dinamik Bağlantılar için özel bir alan oluşturun

Bir yerine kendi etki alanını kullanarak marka Dinamik bağlantılar üzerinde daha fazla kontrole sahip olabilir page.link alt alan. Özel alan adlarıyla aşağıdaki örneklerdeki 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

Önce URL parçası link-suffix URL öneki olarak adlandırılır ve özel dinamik bağlantı alanını ve bir yol öneki hem içerir. Dinamik Bağlantılar oluşturduğunuzda bir URL öneki sağlamanız gerekecektir.

Özel bir etki alanı ayarlamak, Firebase projenizde Düzenleyici veya Sahip izni gerektirir.

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

Dinamik Bağlantılarınız ve web sayfalarınız, Evrensel Bağlantılarınız ve Uygulama Bağlantılarınız için aynı etki alanını kullanabilirsiniz, ancak kullanıyorsanız, Dinamik Bağlantı URL'lerinizin web URL'lerinizle çakışmamasına dikkat etmelisiniz. Dinamik Bağlantıları belirli bir URL önekini kullanacak şekilde yapılandırdığınızda, bu önekle başlayan tüm URL'ler Dinamik Bağlantılar olarak kabul edilir, dolayısıyla sıradan barındırılan içeriğe işaret etmek için bu önekle sahip URL'leri kullanamazsınız.

Eğer bir kaynağa Dinamik Linki oluşturmak istiyorsanız Örneğin, https://example.com/my-resource (web sayfası, Evrensel Linki, veya App Linki), kullanmak olamaz https://example.com/ Bunu yaparken neden olacağından Dinamik Linkler URL öneki olarak, https://example.com/my-resource Dinamik link gibi tedavi edilecek. Bunun yerine, farklı bir etki alanı veya farklı bir yol öneki içeren bir URL öneki kullanmanız gerekir.

Yani, şu uzun formatlı Dinamik Bağlantılar (ve eşdeğer kısa bağlantıları) URL'leri tarafından belirtilen çünkü amaçlandığı gibi çalışmaz link Dinamik bağlantı URL öneki ile parametre başlangıcı https://example.com/ :

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

Ama uzun formda Dinamik Bağlantılar (ve eşdeğer kısa bağlantılar) URL önekleri ile çakışmayan, çünkü çalışabilir aşağıdaki link URL'lerin:

 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 bir alan oluşturun

Firebase konsolunda genellikle tamamen özel bir alan oluşturabilirsiniz. Böyle yaparak:

  1. Projeniz için Hosting Firebase kurmak yoksa, açmak Barındırma sayfasını Firebase konsolunun Başlayın tıklatın ve kurulum talimatları tıklayın. Şu anda belirtilen adımları tamamlamanız gerekmez.

  2. Dinamik Linkler sayfasını Firebase konsolunun.

  3. Daha önce Dinamik Linkler kullanmadıysanız Başlayın'a tıklayın. Aksi halde, açılır menüden URL öneki Ekle tıklayın.

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

  4. Yalnızca iOS: Xcode projenin içinde Info.plist dosyasında, bir anahtar olarak adlandırılan oluşturmak FirebaseDynamicLinksCustomDomains ve uygulamanızın Dinamik Linkler URL öneki olarak ayarlayın. Örneğin:

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

Manuel olarak özel bir alan oluşturun

Halihazırda Dinamik Bağlantılar için ayarlanmış özel bir etki alanınız olduğunda ve başka bir etki alanı eklemek istediğinizde veya bir Barındırma sitesine zaten bağlı olan bir etki alanı eklerken olduğu gibi bazı durumlarda, özel etki alanınızı manuel olarak ayarlamanız gerekir.

Böyle yaparak:

  1. Firebase Lütfen alan Barındırma bağlayın Önceden yapmadıysanız.

    Firebase Hosting ile etki alanınızı ayarlama yapılandırma dosyası oluşturarak içeren firebase.json yerel proje dizininde.

  2. Firebase CLI en son sürümüne güncelleyin (daha sonra v6.5.0 veya).

  3. Projenizin Dinamik Bağlantılar için Hosting siteyi yapılandırma firebase.json dosyası. Projenizde birden fazla site varsa, kullanmak istediğiniz etki alanına bağlı siteyi yapılandırdığınızdan emin olun.

    • Set appAssociation için AUTO . Bu ayarla, dinamik Barındırma üretir assetlinks.json ve apple-app-site-association , istendiğinde dosyaları.

    • Birlikte kuralları yeniden ayarlayarak Dinamik bağlantılar için kullanmak istediğiniz yolu önekler belirtin dynamicLinks ayarlı true . Bu yollara yönelik istekler, Dinamik Bağlantılara proxy olarak 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, Hosting'in istekle eşleşen ilk yeniden yazma kuralını yürüttüğünü unutmayın.

    Örneğin:

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

    Yukarıdaki yapılandırma ile aşağıdaki örneklerde olduğu gibi URL önekleriyle Dinamik Linkler oluşturabilirsiniz:

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

    Yalnızca Dinamik bağlantılar için bu alan adını kullanırsanız, bir kaynak yolunu kullanabilir /** hiçbir yolu öneki ile Dinamik bağlantıları oluşturmak için:

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

    Yukarıdaki kurala ile, aşağıdaki örnekte olduğu gibi Dinamik Linkler oluşturabilirsiniz:

    https://your-domain/link-suffix

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

    firebase deploy --only hosting

    Sen dağıtmış kontrol edebilirsiniz (opsiyonel) firebase.json kullanarak içerik barındırma DİNLENME API .

  5. Yalnızca iOS: Xcode projenin içinde Info.plist dosyasında, bir anahtar olarak adlandırılan oluşturmak FirebaseDynamicLinksCustomDomains ve uygulamanızın Dinamik Linkler URL öneki olarak ayarlayın. Örneğin:

    <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ı

Dinamik Linkler için, özellikle dikkat öncelik sırasını barındırma .

  • Dinamik Bağlantılar URL önekinizin daha yüksek öncelikli barındırma yapılandırmalarıyla çakışmadığından emin olun (örneğin, barındırılan statik içeriğin her zaman yeniden yazmalara göre önceliği vardır).
  • İçinde rewrites özniteliği, kural uyacağız Barındırma tepkisi ilk tarafından belirtilen source topak o yakalar istenen yolu.

Eğer bir dinamik bağlantı kurmak Örneğin, your-domain / source-path / link-suffix ama aynı zamanda statik içeriğe sahip your-domain / source-path /index.html , statik içerik önceliklidir. Bir son kullanıcı göreceksiniz index.html Dynamic Link yerine. En statik içerik varsa Benzer şekilde, your-domain / source-path / link-suffix , son kullanıcı yerine Dynamic Link daha statik içeriği görür.

Hem Dinamik Bağlantılar hem de Barındırma için aynı markayı kullanmak istiyorsanız, Dinamik Bağlantılar URL önekiniz için aşağıdaki seçeneklerden birini göz önünde bulundurun:

  • Senin Set source bir yol öneki maç için özniteliği. Eğer özel bir alan varsa Örneğin, example.com , yeniden yazma kuralı olabilir:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Dinamik bağlantılar için kullanılacak bir alt alan ayarlayın, sonra set source bu alt alanı eşleşecek şekilde niteliğini. Eğer bir alt etki alanı varsa Örneğin, links.example.com , yeniden yazma kuralı olabilir:

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