Catch up on highlights from Firebase at Google I/O 2023. Learn more

Bir Flutter uygulamasında Dinamik Bağlantılar oluşturun

Firebase Dynamic Links Builder API ile 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

Android uygulamanızda Dinamik Bağlantılar oluşturabilmeniz için önce Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dinamik Bağlantıları alacak şekilde ayarlandıysa, bu adımları zaten tamamladınız ve bu bölümü atlayabilirsiniz.

  1. Henüz yapmadıysanız Flutter için Firebase SDK'larını kurun ve başlatın .

  2. Dinamik Bağlantılar eklentisini yüklemek için Flutter projenizin kök dizininden aşağıdaki komutu çalıştırın:

    flutter pub add firebase_dynamic_links
    
  3. 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ı kullanıyorsanız SHA-256 anahtarınızı da belirtin.

  4. Firebase konsolunda Dinamik Bağlantılar bölümünü açın.

    1. Dinamik Bağlantılarınız için henüz bir etki alanı oluşturmadıysanız, Başlayın düğmesini tıklayın ve istemleri izleyin.

      Halihazırda bir Dinamik Bağlantılar etki alanınız varsa, not alın. Programlı olarak Dinamik Bağlantılar oluşturduğunuzda bir Dinamik Bağlantılar etki alanı sağlamanız gerekir.

    2. Ö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 sizin kontrolünüzde olmayan sitelere yönlendirme yapan Dinamik Bağlantılar oluşturmasını engellersiniz.

      Bkz. Belirli URL kalıplarına izin verme .

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/ için 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 derli toplu hale getirse de, birisinin geçerli bir kısa bağlantıyı tahmin etme olasılığını da ortaya çıkarır. Çoğu zaman, birisinin bunu yapmasında bir sakınca yoktur, çünkü bağlantı halka 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 etmesini pek mümkün kılmayan 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,
);

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 parametre seti ile 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çacağı bağlantı. Uygulamanızın işleyebileceği, genellikle uygulamanın içeriği veya yükü olan ve uygulamaya özel mantığı başlatan (kullanıcıyı bir kuponla kredilendirme veya bir karşılama ekranı görüntüleme gibi) bir URL belirtin. Bu bağlantı, iyi biçimlendirilmiş bir URL olmalı, uygun şekilde URL kodlu 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ı etki alanı aşağıdaki örneklere benzer:
https://example.com/link
https://example.page.link
AndroidParametreleri
setFallbackUrl Uygulama yüklenmediğinde açılacak bağlantı. İç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, uygulama yüklü değilken Play Store'dan uygulamanızı yüklemek dışında bir şey yapmak için bunu belirtin.
setMinimumVersion Uygulamanızın bağlantıyı açabilen minimum sürümünün versionCode'u. Yüklenen uygulama daha eski bir sürümse kullanıcı, uygulamayı yükseltmek için Play Store'a yönlendirilir.
IosParametreleri
setAppStoreId Uygulamanızın, uygulama yüklü değilken kullanıcıları App Store'a göndermek için kullanılan App Store Kimliği
setFallbackUrl Uygulama yüklenmediğinde açılacak bağlantı. İçeriğin mobil web sürümünü açmak veya uygulamanız için bir promosyon sayfası görüntülemek gibi, uygulama yüklü değilken App Store'dan uygulamanızı yüklemek dışında bir şey yapmak için bunu belirtin.
setCustomScheme Uygulamanızın paket kimliğinden farklı bir şey olarak tanımlanmışsa, uygulamanızın özel URL şeması
setIpadFallbackUrl Uygulama yüklü değilken iPad'lerde açılacak bağlantı. İçeriğin web sürümünü açmak veya uygulamanız için bir tanıtım sayfası görüntülemek gibi, uygulama yüklü değilken uygulamanızı App Store'dan yüklemek dışında bir şey yapmak 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 bayrak, açıldığında uygulamanıza iletilir ve uygulamanızın onunla ne yapacağına karar vermesi gerekir.
NavigationInfoParametreleri
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 bir şekilde gönderebilir; ancak bir Dinamik Bağlantının yalnızca bu sayfa olmadan güvenilir bir şekilde Dinamik Bağlantıları açabilen uygulamalarda açılmasını bekliyorsanız, bu parametre ile devre dışı bırakabilirsiniz. Bu parametre, Dinamik Bağlantının davranışını yalnızca iOS'ta etkiler.
SocialMetaTagParametreleri
setTitle Dinamik Bağlantı bir sosyal gönderide paylaşıldığında kullanılacak başlık.
setDescription Dinamik Bağlantı bir sosyal gönderide 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'den küçük olmalıdır.
GoogleAnalyticsParametreleri
setSource
setMedium
setKampanya
setTerm
içerik ayarla
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
setCampaignToken
iTunes Connect analiz parametreleri. Bu parametreler ('pt', 'at', 'ct') App Store'a iletilir.