Firebase Dynamic Links Builder API ile kısa veya uzun Dynamic Links oluşturabilirsiniz. Bu API, uzun bir Dynamic Link'i veya Dynamic Link parametrelerini içeren bir nesneyi kabul eder ve aşağıdaki örneklerdeki gibi URL'ler döndürür:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Firebase ve Dynamic Links SDK'sını ayarlar
Android uygulamanızda Dynamic Links oluşturabilmek için Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dynamic Links'i 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ükleyip ilk kullanıma hazırlayın.
Dynamic Links eklentisini yüklemek için Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:
flutter pub add firebase_dynamic_linksAndroid uygulaması geliştiriyorsanı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 Dynamic Links bölümünü açın.
Dynamic Links için henüz bir alan oluşturmadıysanız Başlayın düğmesini tıklayın ve talimatları uygulayın.
Zaten bir Dynamic Links alanınız varsa bunu not edin. Programatik olarak Dynamic Links oluştururken bir Dynamic Links 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 kalıplarını belirtin. Bunu yaparak yetkisiz tarafların, alanınızdan kontrol etmediğiniz sitelere yönlendiren Dynamic Links oluşturmasını engellersiniz.
Belirli URL kalıplarına izin verme bölümünü inceleyin.
Parametrelerden Dynamic Link oluşturma
Dinamik Bağlantı oluşturmak için yeni bir DynamicLinkParameters nesnesi oluşturun ve bunu buildLink() veya buildShortLink() yöntemine iletin.
Aşağıdaki minimal örnek, Android'de com.example.app.android ve iOS'te com.example.app.ios uygulamasıyla açılan https://www.example.com/ için uzun bir Dynamic Link 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() yöntemine iletin. Kısa bağlantıyı oluşturmak için ağ çağrısı gerekir.
Ö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 Dynamic Links yalnızca birkaç karakter uzunluğunda olan son eklerle oluşturulur. Bu sayede bağlantılar daha kısa hale gelse de bir kullanıcının geçerli bir kısa bağlantıyı tahmin etme olasılığı da ortaya çıkar. Bağlantı herkese açık bilgilere yönlendirdiği için genellikle bu durumun bir zararı olmaz.
Ancak kısa bağlantılarınız kullanıcıya özel bilgilere yönlendiriyorsa 17 karakterlik son ekler içeren daha uzun bağlantılar oluşturmanız gerekir. Böylece, geçerli bir Dynamic Link'in tahmin edilmesi neredeyse imkansız hale gelir. Bunun için buildShortLink() yöntemine ShortDynamicLinkType.unguessable değerini iletin:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Dynamic Link parametreleri
Desteklenen parametrelerden herhangi birini içeren Dynamic Links oluşturmak için Dynamic Link Builder API'yi kullanabilirsiniz. API referansına bakın.
Aşağıdaki örnekte, birkaç yaygın parametre ayarlanarak bir Dinamik Bağlantı oluşturulmaktadır:
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çacağı bağlantı. Uygulamanızın işleyebileceği bir URL belirtin. Bu URL genellikle uygulamaya özel mantığı (ör. kullanıcıya kupon verme veya karşılama ekranı gösterme) başlatan uygulama içeriği veya yüküdür. Bu bağlantı, doğru biçimlendirilmiş ve URL kodlaması düzgün yapılmış bir URL olmalıdır. HTTP veya HTTPS kullanmalıdır ve başka bir Dynamic Link olamaz. |
| setDomainUriPrefix | Firebase konsolunda bulabileceğiniz Dynamic Link URL ön ekiniz. Dinamik Bağlantı alan adı aşağıdaki örneklere benzer:
https://example.com/link https://example.page.link |
| AndroidParameters | |
|---|---|
| setFallbackUrl | Uygulama yüklü olmadığında açılacak bağlantı. Uygulama yüklü olmadığında, uygulamanızı Play Store'dan yüklemek dışında bir işlem yapmak (ör. 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) için bunu belirtin. |
| setMinimumVersion | Uygulamanızın bağlantıyı açabilen minimum sürümünün versionCode değeri. Yüklü uygulama eski bir sürümse kullanıcı, uygulamayı yeni sürüme geçirmek için Play Store'a yönlendirilir. |
| IosParameters | |
|---|---|
| setAppStoreId | Uygulamanızın uygulama mağazası kimliği. Uygulama yüklü olmadığında kullanıcıları uygulama mağazasına yönlendirmek için kullanılır. |
| setFallbackUrl | Uygulama yüklü olmadığında açılacak bağlantı. Uygulama yüklü olmadığında, uygulamanızı uygulama mağazasından yüklemek dışında bir işlem yapmak (ör. içeriğin mobil web sürümünü açmak veya uygulamanız için bir tanıtım sayfası göstermek) için bunu belirtin. |
| setCustomScheme | Uygulamanızın paket kimliğinden farklı bir şekilde tanımlanmışsa uygulamanızın özel URL şeması |
| setIpadFallbackUrl | Uygulama yüklü olmadığında iPad'lerde açılacak bağlantı. Uygulama yüklü olmadığında uygulamanızı uygulama mağazasından yüklemek yerine başka bir işlem yapmak (ör. içeriğin web sürümünü açmak veya uygulamanız için tanıtım sayfası göstermek) için bunu belirtin. |
| setIpadBundleId | Bağlantıyı açmak için iPad'lerde kullanılacak iOS uygulamasının paket kimliği. Uygulama, Firebase konsolunun Genel Bakış sayfasından projenize bağlanmalıdır. |
| setMinimumVersion | Uygulamanızın bağlantıyı açabilen minimum sürümünün sürüm numarası. Bu işaret, açıldığında uygulamanıza iletilir ve uygulamanızın bu işaretle ne yapacağına karar vermesi gerekir. |
| NavigationInfoParameters | |
|---|---|
| setForcedRedirectEnabled | "1" olarak ayarlanırsa Dinamik Bağlantı açıldığında uygulama önizleme sayfası atlanır ve bunun yerine uygulama veya mağazaya yönlendirilir. Uygulama önizleme sayfası (varsayılan olarak etkindir), kullanıcılar uygulamalarda Dynamic Links'i açtığında onları en uygun hedefe daha güvenilir bir şekilde gönderebilir. Ancak bir Dynamic Link'in yalnızca bu sayfa olmadan Dynamic Links'i 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'te etkiler. |
| SocialMetaTagParameters | |
|---|---|
| setTitle | Dinamik Bağlantı bir sosyal medya gönderisinde paylaşıldığında kullanılacak başlık. |
| setDescription | Dinamik Bağlantı bir sosyal medya gönderisinde paylaşıldığında kullanılacak açıklama. |
| setImageUrl | Bu bağlantıyla ilgili bir resmin URL'si. Resim en az 300x200 piksel ve 300 KB'tan küçük olmalıdır. |
| GoogleAnalyticsParameters | |
|---|---|
| setSource setMedium setCampaign setTerm setContent |
Google Play analiz parametreleri. Bu parametreler (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) Play Store'a iletilir ve bağlantı yüküne eklenir. |
| ItunesConnectAnalyticsParameters | |
|---|---|
| setProviderToken setAffiliateToken setCampaignToken |
iTunes Connect analiz parametreleri. Bu parametreler (`pt`, `at`, `ct`) uygulama mağazasına iletilir. |