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

Twórz dynamiczne linki w aplikacji Flutter

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Za pomocą interfejsu Firebase Dynamic Links Builder API możesz tworzyć krótkie lub długie linki dynamiczne. Ten interfejs API akceptuje albo długi link dynamiczny, albo obiekt zawierający parametry linku dynamicznego, i zwraca adresy URL, jak w poniższych przykładach:

https://example.com/link/WXYZ
https://example.page.link/WXYZ

Aby móc tworzyć linki dynamiczne w aplikacji na Androida, musisz dołączyć pakiet Firebase SDK. Jeśli Twoja aplikacja jest skonfigurowana do odbierania linków dynamicznych, te kroki zostały już wykonane i możesz pominąć tę sekcję.

  1. Zainstaluj i zainicjuj zestawy SDK Firebase dla Flutter , jeśli jeszcze tego nie zrobiłeś.

  2. W katalogu głównym projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Dynamic Links:

    flutter pub add firebase_dynamic_links
    
  3. Jeśli tworzysz aplikację na Androida, otwórz stronę Ustawienia projektu w konsoli Firebase i upewnij się, że masz określony klucz podpisywania SHA-1. Jeśli korzystasz z łączy aplikacji, podaj również swój klucz SHA-256.

  4. W konsoli Firebase otwórz sekcję Linki dynamiczne .

    1. Jeśli nie masz jeszcze skonfigurowanej domeny dla Linków dynamicznych, kliknij przycisk Rozpocznij i postępuj zgodnie z instrukcjami.

      Jeśli masz już domenę Dynamic Links, zanotuj to. Musisz podać domenę Dynamic Links podczas automatycznego tworzenia Linków dynamicznych.

    2. Zalecane : w menu „Więcej” (⋮) określ wzorce adresów URL dozwolone w precyzyjnych linkach i linkach zastępczych. W ten sposób uniemożliwiasz nieautoryzowanym stronom tworzenie linków dynamicznych, które przekierowują z Twojej domeny do witryn, których nie kontrolujesz.

      Zobacz Zezwalanie na określone wzorce adresów URL .

Aby utworzyć łącze dynamiczne, utwórz nowy obiekt DynamicLinkParameters i przekaż go do buildLink() lub buildShortLink() .

Poniższy minimalny przykład tworzy długi link dynamiczny do https://www.example.com/ , który otwiera się za pomocą com.example.app.android na Androida i aplikacji com.example.app.ios na iOS:

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);

Aby utworzyć krótki link dynamiczny, przekaż obiekt DynamicLinkParameters do buildShortLink() . Budowa krótkiego łącza wymaga połączenia sieciowego. Na przykład:

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);

Domyślnie krótkie linki dynamiczne są generowane z przyrostkami o długości zaledwie kilku znaków. Chociaż sprawia to, że linki są bardziej zwięzłe, wprowadza również możliwość odgadnięcia prawidłowego krótkiego linku. Często nie ma nic złego, jeśli ktoś to zrobi, ponieważ link prowadzi do informacji publicznej.

Jeśli jednak Twoje krótkie linki prowadzą do informacji specyficznych dla użytkownika, utwórz dłuższe linki z 17-znakowymi sufiksami, co sprawi, że odgadnięcie prawidłowego linku dynamicznego jest bardzo mało prawdopodobne. Aby to zrobić, przekaż ShortDynamicLinkType.unguessable do metody buildShortLink() :

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

Możesz użyć interfejsu API Dynamic Link Builder do tworzenia dynamicznych linków z dowolnymi obsługiwanymi parametrami. Zobacz dokumentację API .

Poniższy przykład tworzy łącze dynamiczne z kilkoma typowymi zestawami parametrów:

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);

Parametry łącza dynamicznego można ustawić za pomocą następujących metod:

Parametry DynamicLink
setLink Link, który otworzy Twoja aplikacja. Określ adres URL, który aplikacja może obsłużyć, zazwyczaj zawartość lub ładunek aplikacji, który inicjuje logikę specyficzną dla aplikacji (np. przyznanie użytkownikowi kuponu lub wyświetlenie ekranu powitalnego). Ten link musi być poprawnie sformatowanym adresem URL, być prawidłowo zakodowanym adresem URL, używać protokołu HTTP lub HTTPS i nie może być innym linkiem dynamicznym.
setDomainUriPrefix Twój prefiks adresu URL linku dynamicznego, który znajdziesz w konsoli Firebase. Domena Dynamic Link wygląda jak w następujących przykładach:
https://example.com/link
https://example.page.link
Parametry Androida
setFallbackUrl Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż instalowanie aplikacji ze Sklepu Play, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję treści w internecie lub wyświetlić stronę promocyjną aplikacji.
ustaw minimalną wersję WersjaKod minimalnej wersji Twojej aplikacji, która może otworzyć link. Jeśli zainstalowana aplikacja jest starszą wersją, użytkownik zostanie przeniesiony do Sklepu Play, aby zaktualizować aplikację.
IosParametry
setAppStoreId Identyfikator App Store Twojej aplikacji, używany do wysyłania użytkowników do App Store, gdy aplikacja nie jest zainstalowana
setFallbackUrl Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ tę opcję, aby zrobić coś innego niż instalowanie aplikacji ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję treści w Internecie lub wyświetlić stronę promocyjną aplikacji.
setCustomScheme Niestandardowy schemat adresu URL Twojej aplikacji, jeśli został zdefiniowany jako coś innego niż identyfikator pakietu Twojej aplikacji
setIpadFallbackUrl Link do otwierania na iPadach, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż instalowanie aplikacji ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć internetową wersję zawartości lub wyświetlić stronę promocyjną aplikacji.
setIpadBundleId Identyfikator pakietu aplikacji na iOS, który ma być używany na iPadach do otwierania linku. Aplikację należy połączyć z projektem na stronie Przegląd w konsoli Firebase.
ustaw minimalną wersję Numer wersji minimalnej wersji Twojej aplikacji, w której można otworzyć link. Ta flaga jest przekazywana do aplikacji po jej otwarciu, a aplikacja musi zdecydować, co z nią zrobić.
Nawigacja InfoParametry
setForcedRedirectEnabled Jeśli ustawiono na „1”, pomiń stronę podglądu aplikacji po otwarciu Linku dynamicznego i zamiast tego przekieruj do aplikacji lub sklepu. Strona podglądu aplikacji (domyślnie włączona) może bardziej niezawodnie wysyłać użytkowników do najbardziej odpowiedniego miejsca docelowego, gdy otworzą oni Dynamic Links w aplikacjach; Jeśli jednak oczekujesz, że Dynamic Link będzie otwierany tylko w aplikacjach, które mogą niezawodnie otwierać Dynamic Links bez tej strony, możesz go wyłączyć za pomocą tego parametru. Ten parametr wpłynie na zachowanie Dynamic Link tylko na iOS.
SocialMetaTagParametry
setTitle Tytuł używany, gdy link dynamiczny jest udostępniany w poście społecznościowym.
zestawOpis Opis do użycia, gdy link dynamiczny jest udostępniany w poście społecznościowym.
setImageUrl Adres URL obrazu powiązanego z tym linkiem. Obraz powinien mieć co najmniej 300x200 px i mniej niż 300 KB.
Parametry Google Analytics
setSource
setMedium
setCampaign
setTerm
setContent
Parametry analityczne Google Play. Te parametry (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) są przekazywane do Sklepu Play oraz dołączane do ładunku linku.
ItunesConnectAnalyticsParametry
setProviderToken
setAffiliateToken
setCampaignToken
Parametry analityczne iTunes Connect. Te parametry (`pt`, `at`, `ct`) są przekazywane do App Store.