Tworzenie linków dynamicznych w aplikacji Flutter

Krótkie i długie linki dynamiczne możesz tworzyć za pomocą interfejsu Firebase Dynamic Links Builder API. Ten interfejs API akceptuje długi link dynamiczny lub obiekt zawierający link dynamiczny i zwraca adresy URL takie jak:

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

Aby tworzyć linki dynamiczne w aplikacji na Androida, musisz umieścić w niej element pakietu SDK Firebase. Jeśli Twoja aplikacja jest skonfigurowana do otrzymywania linków dynamicznych, już wykonano te czynności i możesz pominąć tę sekcję.

  1. Zainstaluj i zainicjuj pakiety SDK Firebase na potrzeby Flutter, jeśli: jeszcze tego nie zrobiliśmy.

  2. W katalogu głównym projektu Flutter uruchom następujące polecenia aby zainstalować wtyczkę Linków dynamicznych:

    flutter pub add firebase_dynamic_links
    
  3. Jeśli tworzysz aplikację na Androida, otwórz Ustawienia projektu. w konsoli Firebase i upewnij się, że został zdefiniowany SHA-1. klucz podpisywania. Jeśli korzystasz z linków aplikacji, podaj też klucz SHA-256.

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

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

      Jeśli masz już domenę Linki dynamiczne, zanotuj ją. Czynności, które musisz wykonać podać domenę Linków dynamicznych podczas automatycznego tworzenia linków dynamicznych.

    2. Polecane: z sekcji „Więcej” (⋮) określ adres URL. dozwolonych w precyzyjnych linkach i linkach zastępczych. Dzięki temu zapobiega tworzeniu przekierowań dynamicznych przez nieupoważnione osoby. z domeny do witryn, nad którymi nie masz kontroli.

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

Aby utworzyć link dynamiczny, utwórz nowy obiekt DynamicLinkParameters i przekaż go do buildLink() lub buildShortLink().

Poniższy minimalny przykład pozwala utworzyć długi link dynamiczny do https://www.example.com/, który otwiera się w aplikacji com.example.app.android na urządzeniu z Androidem oraz 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() Do utworzenia krótkiego linku wymagane jest wywołanie sieciowe. 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 sufiksami, w których jest ich tylko kilka znaków. Dzięki temu linki są bardziej kompaktowe, ryzyko, że ktoś odgadnie prawidłowy krótki link. Często nie ma szkoda, bo link prowadzi do informacji publicznych.

Jeśli jednak krótkie linki prowadzą do informacji dotyczących konkretnego użytkownika, tworzy dłuższe linki z 17-znakowymi sufiksami, dzięki czemu jest mało prawdopodobne, użytkownik może odgadnąć prawidłowy link dynamiczny. Aby to zrobić, mijaj ShortDynamicLinkType.unguessable do metody buildShortLink():

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

Za pomocą interfejsu Dynamic Link Builder API możesz tworzyć linki dynamiczne z dowolnymi obsługiwane parametry. Zobacz dokumentację API.

Przykład poniżej tworzy link dynamiczny z kilkoma wspólnymi parametrami ustaw:

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 linku dynamicznego możesz ustawić za pomocą tych metod:

Parametry DynamicLink
setLink Link, który otworzy się Twoja aplikacja. Podaj URL, który może obsługiwać aplikacja, zwykle zawartość lub ładunek aplikacji, który inicjuje (np. przyznawanie użytkownikowi kuponu lub wyświetlenie ekran powitalny). Link ten musi być prawidłowo sformatowanym adresem URL musi być zakodowany na potrzeby adresu URL, użyć protokołu HTTP lub HTTPS; nie może być żadnym innym Połącz.
setDomainUriPrefix, Prefiks adresu URL linku dynamicznego, który możesz znaleźć w konsoli Firebase. O Domena linku dynamicznego wygląda jak w tych przykładach:
https://example.com/link
https://example.page.link
Parametry Androida
setFallbackUrl Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ czynność coś innego niż zainstalowanie aplikacji ze Sklepu Play, nie jest zainstalowana, na przykład otwórz wersję treści w przeglądarce mobilnej lub wyświetlać stronę promocyjną aplikacji.
ustaw minimalną wersję Wartość versionCode minimalnej wersji aplikacji, która może otwierać . Jeśli zainstalowana aplikacja jest w starszej wersji, użytkownik zostanie przekierowany na stronę Sklepu Play, aby uaktualnić aplikację.
Parametry IOS
setAppStoreId Identyfikator App Store Twojej aplikacji używany do kierowania użytkowników do App Store, gdy aplikacja nie jest zainstalowana
setFallbackUrl Link do otwarcia, gdy aplikacja nie jest zainstalowana. Określ czynność coś innego niż zainstalować aplikację ze sklepu App Store, gdy aplikacja nie jest zainstalowana, na przykład otwórz wersję treści w przeglądarce mobilnej lub wyświetlać stronę promocyjną aplikacji.
setCustomScheme Schemat niestandardowego adresu URL aplikacji, jeśli został zdefiniowany jako inny niż identyfikator pakietu Twojej aplikacji
setIpadFallbackUrl. Link do otwierania się na iPadzie, gdy aplikacja nie jest zainstalowana. Określ zrobić coś innego niż zainstalować aplikację ze sklepu App Store, nie jest zainstalowana, na przykład otwiera internetową wersję treści lub wyświetlać stronę promocyjną aplikacji.
Identyfikator zestawuIpadBundle Identyfikator pakietu aplikacji na iOS, którego chcesz użyć na iPadzie do otwarcia linku. Aplikacja musisz połączyć z projektem na stronie Przegląd w konsoli Firebase.
ustaw minimalną wersję Numer minimalnej wersji aplikacji, w której można otworzyć plik . Ta flaga jest przekazywana do aplikacji po otwarciu, musi podjąć decyzję, co z nim zrobić.
Parametry nawigacji
setForcedRedirectEnabled Jeśli ustawisz wartość „1”, pomiń stronę podglądu aplikacji, gdy link dynamiczny jest i przekierowują użytkowników do aplikacji lub sklepu. Strona podglądu aplikacji (domyślnie włączoną) może bardziej niezawodnie kierować użytkowników na odpowiednie miejsce docelowe podczas otwierania linków dynamicznych w aplikacjach; jednak jeśli spodziewasz się, że link dynamiczny będzie otwierany tylko w aplikacjach, które mogą otwierać Możesz niezawodnie wyłączyć tę stronę, korzystając z tego przycisku . Ten parametr będzie miał wpływ na działanie linku dynamicznego tylko na iOS.
SocialMetaTagParameters
setTitle Tytuł używany, gdy link dynamiczny jest udostępniany w poście w mediach społecznościowych.
ustawOpis Opis używany, gdy link dynamiczny jest udostępniany w poście w mediach społecznościowych.
setImageUrl Adres URL obrazu powiązanego z tym linkiem. Grafika powinna mieć co najmniej Rozmiar 300 x 200 pikseli i mniej niż 300 KB.
Parametry GoogleAnalytics
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 i dołączane do ładunku linków.
ItunesConnectAnalyticsParameters
setProviderToken
setaffiliateToken
setCampaignToken
Parametry analityczne iTunes Connect. Te parametry (`pt`, „at” i „ct”)) są przekazywane do App Store.