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:
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.
Firebase konsolunun Dynamic Links sayfasını açın.
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.
Yalnızca iOS: Xcode projenizin
Info.plist
dosyasındaFirebaseDynamicLinksCustomDomains
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:
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.Firebase KSA'nın en son sürümüne (v6.5.0 veya sonraki bir sürüm) güncelleyin.
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ğeriniAUTO
olarak ayarlayın. Bu ayarla, Hosting istendiğindeassetlinks.json
veapple-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
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.Yalnızca iOS: Xcode projenizin
Info.plist
dosyasındaFirebaseDynamicLinksCustomDomains
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 ilksource
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 } ]