Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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 Firebase SDK'sını eklemeniz gerekir. Uygulamanız Dinamik Bağlantılar alacak şekilde ayarlandıysa, bu adımları zaten tamamlamışsınızdır 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. Flutter projenizin kök dizininden Dynamic Links eklentisini kurmak için 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ı ayarlamadıysanız, Başlayın düğmesini tıklayın ve istemleri izleyin.

      Halihazırda bir Dynamic Links alan adınız varsa, bunu 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 kontrol etmediğiniz sitelere yeniden yönlendiren Dinamik Bağlantılar oluşturmasını önlersiniz.

      Belirli URL kalıplarına izin verme konusuna bakın.

Bir Dinamik Bağlantı oluşturmak için yeni bir DynamicLinkParameters nesnesi oluşturun ve bunu buildLink() veya buildShortLink() .

Aşağıdaki minimal örnek, https://www.example.com/ için Android'de com.example.app.ios com.example.app.android açılan 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 DynamicLinkParameters buildShortLink() . Kısa bağlantının oluşturulması 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ğunda son eklerle oluşturulur. Bu, bağlantıları daha kompakt hale getirse de, birinin geçerli bir kısa bağlantı tahmin edebilmesi olasılığını da beraberinde getirir. Çoğu zaman, biri bunu yaparsa zararı olmaz, çünkü bağlantı halka açık bilgilere yönlendirir.

Bununla birlikte, kısa bağlantılarınız kullanıcıya özel bilgilere yol açıyorsa, birinin geçerli bir Dinamik Bağlantı tahmin etmesini pek olası kılmayan 17 karakterlik soneklerle daha uzun bağlantılar oluşturmalısınız. Bunu yapmak için, ShortDynamicLinkType.unguessable'ı 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 Dynamic Link Builder 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:

Dinamik Bağlantı parametreleri
setLink Uygulamanızın açacağı bağlantı. Uygulamanızın işleyebileceği bir URL belirtin, genellikle uygulamanın içeriği veya yükü, uygulamaya özel mantığı başlatır (kullanıcıya kupon vermek veya bir karşılama ekranı görüntülemek gibi). Bu bağlantı iyi biçimlendirilmiş bir URL olmalı, düzgün bir şekilde URL kodlamalı olmalı, HTTP veya HTTPS kullanmalı ve başka bir Dinamik Bağlantı olamaz.
setDomainUriÖnek Firebase konsolunda bulabileceğiniz Dinamik Bağlantı URL önekiniz. Dinamik Bağlantı etki alanı aşağıdaki örneklere benzer:
https://example.com/link
https://example.page.link
AndroidParametreler
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ü olmadığında Play Store'dan uygulamanızı yüklemek dışında bir şey yapmak için bunu belirtin.
setMinimumVersion Bağlantıyı açabilen uygulamanızın 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 götürülür.
IosParameters
setAppStoreId Uygulamanızın, uygulama yüklü olmadığında 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 tanıtım sayfası görüntülemek gibi uygulama yüklü olmadığında uygulamanızı App Store'dan yüklemek dışında bir şey yapmak için bunu belirtin.
setÖzelŞema Uygulamanızın paket kimliğinden başka bir şey olarak tanımlanmışsa, uygulamanızın özel URL şeması
setIpadFallbackUrl Uygulama yüklenmediğinde 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ü olmadığında 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 Bağlantıyı açabilen uygulamanızın minimum sürümünün sürüm numarası. Bu bayrak, açıldığında uygulamanıza iletilir ve uygulamanız onunla ne yapacağına karar vermelidir.
NavigationInfoParameters
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ı daha güvenilir bir şekilde en uygun hedefe gönderebilir; ancak, bir Dinamik Bağlantının yalnızca bu sayfa olmadan Dinamik Bağlantıları güvenilir bir şekilde 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.
SosyalMetaEtiketParametreleri
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 resmin URL'si. Resim en az 300x200 piksel ve 300 KB'den küçük olmalıdır.
GoogleAnalyticsParametreleri
setSource
setOrta
setKampanya
setTerim
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 ayrıca bağlantı yüküne eklenir.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect analiz parametreleri. Bu parametreler (`pt`, `at`, `ct`) App Store'a aktarılır.