Flutter uygulamasında Dinamik Bağlantılar oluşturma

Firebase Dynamic Links Builder API ile kısa veya uzun Dinamik Bağlantılar oluşturabilirsiniz. Bu API, uzun bir Dinamik Bağlantı ya da Dinamik Bağlantı içeren bir nesne kabul eder parametrelerini döndürür ve aşağıdaki örneklere benzer URL'leri 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ı. Uygulamanız Dynamic Links alacak şekilde ayarlandıysa: adımları tamamladıysanız bu bölümü atlayabilirsiniz.

  1. Aşağıdaki şartları karşılıyorsanız Flutter için Firebase SDK'larını yükleyip başlatın bunu yapmıyoruz.

  2. Flutter projenizin kök dizininden aşağıdaki kodu çalıştırın: komutunu çalıştırın:

    flutter pub add firebase_dynamic_links
    
  3. Android uygulaması oluşturuyorsanız Proje ayarları'nı açın sayfasını açın ve SHA-1'inizi belirttiğinizden emin olun imzalayın. App Links kullanıyorsanız SHA-256 anahtarınızı da belirtin.

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

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

      Zaten bir Dynamic Links alan adınız varsa bunu not edin. Şunları yapmanız gerekir: programlı bir şekilde Dinamik Bağlantılar oluşturduğunuzda bir Dynamic Links alan adı sağlar. .

    2. Önerilen: "Diğer" bölümünden (⋮) menüsünü kullanarak URL'yi belirtin derin bağlantılarınızda ve yedek bağlantılarınızda izin verilen kalıplar. Böylece, yetkisiz tarafların yönlendirme yapan Dinamik Bağlantılar oluşturmasını önlersiniz kontrol etmediğiniz sitelere gönderebilir.

      Belirli URL kalıplarına izin verme bölümüne bakın.

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

Aşağıdaki minimum örnek, her bir URL için uzun bir Android'de com.example.app.android ile açılan https://www.example.com/ ve iOS'te com.example.app.ios uygulaması:

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(). 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'in oluşturulmasında yalnızca birkaç uzunluğunda olmalıdır. Bu yöntem, bağlantıları daha kompakt hale getirse de geçerli bir kısa bağlantıyı tahmin etmek çok önemlidir. Çoğu zaman bağlantı herkese açık bilgilere yönlendirdiğinden, başkalarına zarar verebilir.

Ancak, kısa bağlantılarınız kullanıcıya özel bilgilere yönlendiriyorsa 17 karakterlik soneklere sahip daha uzun bağlantılar oluşturun. Bu, geçerli bir Dinamik Bağlantı tahmin edebilir. Bunu yapmak için ShortDynamicLinkType.unguessable hesabını geçin. buildShortLink() yöntemine:

final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
    dynamicLinkParams,
    shortLinkType: ShortDynamicLinkType.unguessable,
);

önerilen parametrelerdir. API referansını inceleyin.

Aşağıdaki örnekte birkaç yaygın parametre ile bir Dinamik Bağlantı oluşturma grup:

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, genellikle uygulamanın içeriğini veya yükünü kullanır. Bu durum, (kullanıcıya bir kuponla kredi verilmesi veya kullanıcıya bir kupon gösterilmesi karşılama ekranı) ekleyebilirsiniz. Bu bağlantı, iyi biçimlendirilmiş bir URL olmalıdır. URL kodlamalı, HTTP ya da HTTPS kullanmalı ve başka bir Dinamik Bağlantı.
setDomainUriPrefix Firebase konsolunda bulabileceğiniz Dinamik Bağlantı URL'si ön ekiniz. CEVAP 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ı. Bunu yapmak için bunu belirtin uygulamayı indirdikten sonra uygulamanızı Play Store'dan yüklü değilse (örneğin, içeriğin mobil web sürümünü açın) veya uygulamanız için bir tanıtım sayfası gösterebilir.
MinimumSürüm ayarla Uygulamanızın bağlantısını tıklayın. Yüklü uygulamanın sürümü eskiyse kullanıcı şuraya yönlendirilir: uygulamayı yeni sürüme geçirmek için Play Store'a gidin.
IosParameters
setAppStoreId Aşağıdaki durumlarda kullanıcıları App Store'a göndermek için kullanılan, uygulamanızın App Store Kimliği uygulama yüklü değil
setFallbackUrl Uygulama yüklenmediğinde açılacak bağlantı. Bunu yapmak için bunu belirtin uygulamayı indirdikten sonra uygulamanızı App Store'dan yüklü değilse (örneğin, içeriğin mobil web sürümünü açın) veya uygulamanız için bir tanıtım sayfası gösterebilir.
setCustomScheme Uygulamanızın özel URL şeması, uygulamanızın paket kimliği
setIpadFallbackUrl Uygulama yüklü olmadığında iPad'lerde açılacak bağlantı. Bunu şu şekilde belirtin: başka bir şey yaptığınızda, uygulamasının yüklü olmaması (ör. içeriğin web sürümünü açma) veya uygulamanız için bir tanıtım sayfası gösterebilir.
setIpadBundleId Bağlantıyı açmak için iPad'lerde kullanılacak iOS uygulamasının paket kimliği. Uygulama Projenize, projenizin Genel Bakış sayfasından bağlı olmalıdır. Firebase konsolu.
MinimumSürüm ayarla Uygulamanızın bağlantısını tıklayın. Bu işaret, açıldığında uygulamanıza aktarılır ve ne yapacağına karar vermesi gerekir.
NavigationInfoParameters
setForcedRedirectEnabled "1" olarak ayarlanırsa Dinamik Bağlantı etkinken uygulama önizleme sayfasını atlayın bunun yerine uygulamaya veya mağazaya yönlendirir. Uygulama önizleme sayfası (varsayılan olarak etkin), kullanıcıları en doğru uygulamalarda Dinamik Bağlantıları açtıklarında uygun hedef; ancak, Bir Dinamik Bağlantının yalnızca açılabilen uygulamalarda açılmasını bekliyorsanız Dynamic Links, bu sayfa olmadan güvenilir bir şekilde parametresinden sonra bir değer girin. Bu parametre, Dinamik Bağlantının davranışını etkiler yalnızca iOS'te kullanılabilir.
SocialMetaTagParameters
setTitle Dinamik Bağlantı, bir sosyal medya yayınında paylaşıldığında kullanılacak başlık.
setDescription Dinamik Bağlantı, bir sosyal medya yayınında paylaşıldığında kullanılacak açıklama.
kümeResmi URL'si Bu bağlantıyla ilgili bir resmin URL'si. Resim en az olmalıdır 300x200 piksel ve 300 KB'tan küçük.
GoogleAnalyticsParameters
setSource
setMedium
setCampaign
setTerm
setContent
Google Play Analytics 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.
ItunesConnectAnalyticsParameters
setProviderToken
setAffiliateToken
setCampaignToken
iTunes Connect analiz parametreleri. Bu parametreler ("pt", `at`, `ct`) App Store'a iletilir.