Firebase Dynamic Links Builder API'sini kullanarak kısa veya uzun Dinamik Bağlantılar oluşturabilirsiniz. Bu API, uzun bir Dinamik Bağlantıyı veya Dinamik Bağlantı parametrelerini içeren bir nesneyi kabul eder ve aşağıdaki örneklere benzer URL'ler döndürür:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Firebase'i ve Dynamic Links SDK'yı kurun
Android uygulamanızda Dinamik Bağlantılar oluşturabilmeniz için Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dinamik Bağlantıları alacak şekilde ayarlanmışsa bu adımları zaten tamamlamışsınızdır ve bu bölümü atlayabilirsiniz.
Henüz yapmadıysanız Flutter için Firebase SDK'larını yükleyin ve başlatın .
Flutter projenizin kök dizininden Dinamik Bağlantılar eklentisini yüklemek için aşağıdaki komutu çalıştırın:
flutter pub add firebase_dynamic_links
Bir Android uygulaması oluşturuyorsanız Firebase konsolunun Proje ayarları sayfasını açın ve SHA-1 imzalama anahtarınızı belirttiğinizden emin olun. Uygulama Bağlantılarını kullanıyorsanız SHA-256 anahtarınızı da belirtin.
Firebase konsolunda Dinamik Bağlantılar bölümünü açın.
Dinamik Bağlantılarınız için henüz bir alan adı ayarlamadıysanız Başlayın düğmesini tıklayın ve talimatları izleyin.
Zaten bir Dinamik Bağlantılar alanınız varsa bunu not edin. Programlı olarak Dinamik Bağlantılar oluşturduğunuzda bir Dinamik Bağlantılar alanı sağlamanız gerekir.
Önerilen : "Diğer" (⋮) menüsünden, derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen URL modellerini belirtin. Bunu yaparak, yetkisiz tarafların alanınızdan kontrol etmediğiniz sitelere yönlendirme yapan Dinamik Bağlantılar oluşturmasını önlersiniz.
Parametrelerden Dinamik Bağlantı oluşturun
Dinamik Bağlantı oluşturmak için yeni bir DynamicLinkParameters
nesnesi oluşturun ve bunu buildLink()
veya buildShortLink()
öğesine iletin.
Aşağıdaki minimal örnek, Android'de com.example.app.android
ve iOS'ta com.example.app.ios
uygulamasıyla açılan https://www.example.com/
adresine uzun bir Dinamik Bağlantı oluşturur:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildLink(dynamicLinkParams);
Kısa bir Dinamik Bağlantı oluşturmak için DynamicLinkParameters
nesnesini buildShortLink()
öğesine iletin. Kısa bağlantıyı oluşturmak bir ağ araması gerektirir. Örneğin:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(packageName: "com.example.app.android"),
iosParameters: const IOSParameters(bundleId: "com.example.app.ios"),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Varsayılan olarak kısa Dinamik Bağlantılar yalnızca birkaç karakter uzunluğundaki son eklerle oluşturulur. Bu, bağlantıları daha kompakt hale getirse de, aynı zamanda birisinin geçerli bir kısa bağlantıyı tahmin edebilme olasılığını da ortaya çıkarır. Çoğu zaman birisinin bunu yapmasının hiçbir zararı yoktur, çünkü bağlantı kamuya açık bilgilere yönlendirir.
Ancak kısa bağlantılarınız kullanıcıya özel bilgilere yönlendiriyorsa, birisinin geçerli bir Dinamik Bağlantıyı tahmin etme olasılığını ortadan kaldıran 17 karakterlik son eklere sahip daha uzun bağlantılar oluşturmalısınız. Bunu yapmak için ShortDynamicLinkType.unguessable
buildShortLink()
yöntemine iletin:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Dinamik Bağlantı parametreleri
Desteklenen parametrelerden herhangi biriyle Dinamik Bağlantılar oluşturmak için Dinamik Bağlantı Oluşturucu API'sini kullanabilirsiniz. API referansına bakın.
Aşağıdaki örnek, birkaç ortak parametrenin ayarlandığı bir Dinamik Bağlantı oluşturur:
final dynamicLinkParams = DynamicLinkParameters(
link: Uri.parse("https://www.example.com/"),
uriPrefix: "https://example.page.link",
androidParameters: const AndroidParameters(
packageName: "com.example.app.android",
minimumVersion: 30,
),
iosParameters: const IOSParameters(
bundleId: "com.example.app.ios",
appStoreId: "123456789",
minimumVersion: "1.0.1",
),
googleAnalyticsParameters: const GoogleAnalyticsParameters(
source: "twitter",
medium: "social",
campaign: "example-promo",
),
socialMetaTagParameters: SocialMetaTagParameters(
title: "Example of a Dynamic Link",
imageUrl: Uri.parse("https://example.com/image.png"),
),
);
final dynamicLink =
await FirebaseDynamicLinks.instance.buildShortLink(dynamicLinkParams);
Dinamik Bağlantı parametrelerini aşağıdaki yöntemlerle ayarlayabilirsiniz:
DynamicLink parametreleri | |
---|---|
setLink | Uygulamanızın açılacağı bağlantı. Uygulamanızın işleyebileceği, uygulamaya özel mantığı (kullanıcıya bir kuponla kredi vermek veya bir karşılama ekranı görüntülemek gibi) başlatan, genellikle uygulamanın içeriği veya yükü gibi bir URL belirtin. Bu bağlantı iyi biçimlendirilmiş bir URL olmalı, URL'si düzgün şekilde kodlanmış olmalı, HTTP veya HTTPS kullanmalı ve başka bir Dinamik Bağlantı olamaz. |
setDomainUriPrefix | Firebase konsolunda bulabileceğiniz Dinamik Bağlantı URL'si ön ekiniz. Dinamik Bağlantı alanı aşağıdaki örneklere benzer: https://example.com/link https://example.page.link |
AndroidParametreleri | |
---|---|
setFallbackUrl | Uygulama yüklenmediğinde açılacak bağlantı. Uygulama yüklenmediğinde Play Store'dan uygulamanızı yüklemek dışında, içeriğin mobil web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi bir işlem yapmak için bunu belirtin. |
setMinimumVersion | Uygulamanızın bağlantıyı açabilecek minimum sürümünün versionCode'u. Yüklenen uygulama daha eski bir sürümse kullanıcı, uygulamayı yükseltmesi için Play Store'a yönlendirilir. |
IosParametreleri | |
---|---|
setAppStoreId | Uygulamanız yüklü olmadığında kullanıcıları App Store'a göndermek için kullanılan uygulamanızın App Store Kimliği |
setFallbackUrl | Uygulama yüklenmediğinde açılacak bağlantı. Uygulama yüklenmediğinde App Store'dan uygulamanızı yüklemek dışında, içeriğin mobil web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi başka bir işlem yapmak için bunu belirtin. |
setÖzelŞema | Uygulamanızın paket kimliğinden farklı bir şey olarak tanımlanmışsa, uygulamanızın özel URL şeması |
setIpadFallbackUrl | Uygulama yüklü olmadığında iPad'lerde açılacak bağlantı. Uygulama yüklenmediğinde App Store'dan uygulamanızı yüklemek dışında, içeriğin web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi başka bir işlem yapmak için bunu belirtin. |
setIpadBundleId | Bağlantıyı açmak için iPad'lerde kullanılacak iOS uygulamasının paket kimliği. Uygulamanın, Firebase konsolunun Genel Bakış sayfasından projenize bağlanması gerekir. |
setMinimumVersion | Uygulamanızın bağlantıyı açabilecek minimum sürümünün sürüm numarası. Bu bayrak, açıldığında uygulamanıza iletilir ve uygulamanızın bununla ne yapacağına karar vermesi gerekir. |
NavigasyonBilgiParametreleri | |
---|---|
setForcedRedirectEnabled | '1' olarak ayarlanırsa Dinamik Bağlantı açıldığında uygulama önizleme sayfasını atlayın ve bunun yerine uygulamaya veya mağazaya yönlendirin. Uygulama önizleme sayfası (varsayılan olarak etkindir), uygulamalarda Dinamik Bağlantıları açtıklarında kullanıcıları en uygun hedefe daha güvenilir şekilde gönderebilir; ancak Dinamik Bağlantının bu sayfa olmadan yalnızca Dinamik Bağlantıları güvenilir bir şekilde açabilen uygulamalarda açılmasını bekliyorsanız bu parametreyle devre dışı bırakabilirsiniz. Bu parametre Dinamik Bağlantının davranışını yalnızca iOS'ta etkileyecektir. |
SocialMetaTagParametreler | |
---|---|
setTitle | Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak başlık. |
setAçıklama | Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak açıklama. |
setImageUrl | Bu bağlantıyla ilgili bir görselin URL'si. Resim en az 300x200 piksel ve 300 KB'tan küçük olmalıdır. |
GoogleAnalyticsParametreleri | |
---|---|
setKaynak setMedium setKampanya setTerm setİçerik | Google Play analiz parametreleri. Bu parametreler ("utm_source", "utm_medium", "utm_campaign", "utm_term", "utm_content") Play Store'a aktarılır ve bağlantı yüküne eklenir. |
ItunesConnectAnalyticsParametreler | |
---|---|
setProviderToken setAffiliateToken setKampanyaTokenı | iTunes Connect analiz parametreleri. Bu parametreler ("pt", "at", "ct") App Store'a aktarılır. |