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.

Możesz tworzyć krótkie lub długie linki dynamiczne za pomocą interfejsu Firebase Dynamic Links Builder API. Ten interfejs API akceptuje długi link dynamiczny lub obiekt zawierający parametry linku dynamicznego i zwraca adresy URL, takie 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 podałeś klucz podpisywania SHA-1. Jeśli korzystasz z linków do 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 swoich Linków dynamicznych, kliknij przycisk Rozpocznij i postępuj zgodnie z instrukcjami.

      Jeśli masz już domenę z linkami dynamicznymi, zanotuj to. Podczas programowego tworzenia linków dynamicznych musisz podać domenę 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 nieupoważnionym stronom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli.

      Zobacz Zezwalaj 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 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ótkie łącze dynamiczne, przekaż obiekt DynamicLinkParameters do buildShortLink() . Zbudowanie 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 łącza dynamiczne są generowane z przyrostkami o długości zaledwie kilku znaków. Chociaż sprawia to, że linki są bardziej zwarte, wprowadza również możliwość odgadnięcia prawidłowego krótkiego linku. Często nie ma nic złego w tym, że ktoś to zrobi, ponieważ link prowadzi do informacji publicznej.

Jeśli jednak krótkie łącza prowadzą do informacji specyficznych dla użytkownika, należy utworzyć dłuższe łącza z 17-znakowymi sufiksami, które sprawiają, że odgadnięcie prawidłowego łącza 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 Dynamic Link Builder API do tworzenia linków dynamicznych z dowolnymi obsługiwanymi parametrami. Zobacz informacje o interfejsie API .

Poniższy przykład tworzy łącze dynamiczne z ustawionymi kilkoma typowymi parametrami:

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
zestawLink Link, który otworzy Twoja aplikacja. Określ adres URL, który może obsłużyć Twoja aplikacja, zazwyczaj treść lub ładunek aplikacji, który inicjuje logikę specyficzną dla aplikacji (np. przyznanie użytkownikowi kuponu lub wyświetlenie ekranu powitalnego). Ten link musi być dobrze sformatowanym adresem URL, odpowiednio zakodowanym w adresie URL, używać protokołu HTTP lub HTTPS i nie może być innym linkiem dynamicznym.
setDomainUriPrefix Prefiks adresu URL linku dynamicznego, który można znaleźć w konsoli Firebase. Domena z linkiem dynamicznym wygląda tak, jak w poniższych 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ż zainstalować aplikację ze Sklepu Play, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję internetową treści lub wyświetlić stronę promocyjną swojej aplikacji.
ustaw wersję minimalną Kod wersji 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ę.
IosParameters
ustaw identyfikator AppStore Identyfikator Twojej aplikacji w App Store, używany do odsyłania użytkowników do App Store, gdy aplikacja nie jest zainstalowana
setFallbackUrl Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż zainstalować aplikację ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję internetową zawartości lub wyświetlić stronę promocyjną swojej aplikacji.
ustaw schemat niestandardowy Niestandardowy schemat adresu URL Twojej aplikacji, jeśli został zdefiniowany jako coś innego niż identyfikator pakietu Twojej aplikacji
setIpadFallbackUrl Łącze do otwierania na iPadach, gdy aplikacja nie jest zainstalowana. Określ to, aby zrobić coś innego niż zainstalować aplikację ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otworzyć internetową wersję zawartości lub wyświetlić stronę promocyjną swojej aplikacji.
setIpadPakietId Identyfikator pakietu aplikacji na iOS do użycia na iPadzie w celu otwarcia łącza. Aplikacja musi być połączona z projektem na stronie Przegląd konsoli Firebase.
ustaw wersję minimalną Numer wersji minimalnej wersji Twojej aplikacji, która umożliwia otwarcie linku. Ta flaga jest przekazywana do aplikacji po jej otwarciu, a aplikacja musi zdecydować, co z nią zrobić.
NavigationInfoParameters
setForcedRedirectEnabled W przypadku ustawienia „1” pomiń stronę podglądu aplikacji po otwarciu łącza dynamicznego i zamiast tego przekieruj do aplikacji lub sklepu. Strona podglądu aplikacji (domyślnie włączona) może bardziej niezawodnie odsyłać użytkowników do najodpowiedniejszego miejsca docelowego, gdy otworzą łącza dynamiczne w aplikacjach; jeśli jednak oczekujesz, że łącze dynamiczne będzie otwierane tylko w aplikacjach, które mogą niezawodnie otwierać łącza dynamiczne bez tej strony, możesz je wyłączyć za pomocą tego parametru. Ten parametr wpłynie na zachowanie łącza dynamicznego tylko w systemie iOS.
SocialMetaTagParameters
ustawTytuł Tytuł używany, gdy łącze dynamiczne jest udostępniane w poście społecznościowym.
zestaw Opis Opis, który ma być używany, gdy łącze dynamiczne jest udostępniane w poście społecznościowym.
ustawImageUrl Adres URL obrazu powiązanego z tym linkiem. Obraz powinien mieć co najmniej 300 x 200 pikseli i mniej niż 300 KB.
Parametry GoogleAnalytics
zestawŹródło
zestawŚredni
zestawKampania
ustawTermin
zestawZawartość
Parametry analityczne Google Play. Parametry te (`utm_source`, `utm_medium`, `utm_campaign`, `utm_term`, `utm_content`) są przekazywane do Sklepu Play, a także dołączane do ładunku łącza.
ItunesConnectAnalyticsParameters
ustaw token dostawcy
ustawAffiliateToken
ustawCampaignToken
Parametry analityczne iTunes Connect. Te parametry (`pt`, `at`, `ct`) są przekazywane do App Store.