Możesz tworzyć krótkie lub długie linki dynamiczne za pomocą interfejsu API Firebase Dynamic Links Builder. Ten interfejs API akceptuje albo długi link dynamiczny, albo obiekt zawierający parametry łącza dynamicznego i zwraca adresy URL, takie jak poniższe przykłady:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
Skonfiguruj Firebase i pakiet SDK Linków dynamicznych
Zanim będziesz mógł utworzyć linki dynamiczne w aplikacji na Androida, musisz dołączyć pakiet SDK Firebase. Jeśli Twoja aplikacja jest skonfigurowana do otrzymywania linków dynamicznych, wykonałeś już te kroki i możesz pominąć tę sekcję.
Zainstaluj i zainicjuj zestawy SDK Firebase dla Flutter, jeśli jeszcze tego nie zrobiłeś.
Z katalogu głównego projektu Flutter uruchom następujące polecenie, aby zainstalować wtyczkę Dynamic Links:
flutter pub add firebase_dynamic_links
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 łączy aplikacji, podaj także klucz SHA-256.
W konsoli Firebase otwórz sekcję Linki dynamiczne .
Jeśli nie skonfigurowałeś jeszcze domeny dla swoich łączy dynamicznych, kliknij przycisk Rozpocznij i postępuj zgodnie z instrukcjami.
Jeśli masz już domenę Dynamic Links, zwróć na to uwagę. Podczas programowego tworzenia łączy dynamicznych musisz podać domenę łączy dynamicznych.
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 osobom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli.
Utwórz łącze dynamiczne na podstawie parametrów
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 Androidzie 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ótkie łącze dynamiczne, 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 generowane są krótkie linki dynamiczne z przyrostkami składającymi się tylko z kilku znaków. Chociaż sprawia to, że linki są bardziej zwarte, stwarza to również możliwość odgadnięcia prawidłowego krótkiego linku. Często nie dzieje się nic złego, jeśli ktoś to zrobi, ponieważ link prowadzi do informacji publicznej.
Jeśli jednak krótkie linki prowadzą do informacji specyficznych dla użytkownika, należy utworzyć dłuższe linki z 17-znakowymi sufiksami, które sprawią, że odgadnięcie prawidłowego łącza dynamicznego będzie bardzo mało prawdopodobne. W tym celu przekaż ShortDynamicLinkType.unguessable
do metody buildShortLink()
:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
Parametry łącza dynamicznego
Możesz użyć interfejsu API narzędzia Dynamic Link Builder do tworzenia łączy dynamicznych z dowolnymi obsługiwanymi parametrami. Zobacz dokumentację API .
Poniższy przykład tworzy łącze dynamiczne z kilkoma wspólnymi 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ć następującymi metodami:
Parametry DynamicLinka | |
---|---|
ustawLink | Link, który otworzy Twoja aplikacja. Określ adres URL, który może obsłużyć Twoja aplikacja, zazwyczaj zawartość aplikacji lub ładunek, który inicjuje logikę specyficzną dla aplikacji (taką jak przyznanie użytkownikowi kuponu lub wyświetlenie ekranu powitalnego). Ten link musi być dobrze sformatowanym adresem URL, odpowiednio zakodowanym adresem URL, używać protokołu HTTP lub HTTPS i nie może być innym łączem dynamicznym. |
setDomainUriPrefix | Twój prefiks adresu URL łącza dynamicznego, który znajdziesz w konsoli Firebase. Domena łącza dynamicznego wygląda jak w poniższych przykładach: https://example.com/link https://example.page.link |
Parametry Androida | |
---|---|
ustawFallbackUrl | Link otwierany, gdy aplikacja nie jest zainstalowana. Określ tę opcję, aby zrobić coś innego niż instalowanie aplikacji ze Sklepu Play, gdy aplikacja nie jest zainstalowana, na przykład otworzyć mobilną wersję internetową treści lub wyświetlić stronę promocyjną aplikacji. |
ustaw wersję minimalną | Kod wersji minimalnej wersji aplikacji, która może otworzyć łącze. Jeśli zainstalowana aplikacja jest starszą wersją, użytkownik zostanie przeniesiony do Sklepu Play w celu aktualizacji aplikacji. |
Parametry Ios | |
---|---|
ustawAppStoreId | Identyfikator Twojej aplikacji w App Store, używany do odsyłania użytkowników do App Store, gdy aplikacja nie jest zainstalowana |
ustawFallbackUrl | Link otwierany, 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ę internetową zawartości lub wyświetlić stronę promocyjną aplikacji. |
ustawSchemat niestandardowy | Niestandardowy schemat adresu URL Twojej aplikacji, jeśli zdefiniowany jako inny niż identyfikator pakietu aplikacji |
setIpadFallbackUrl | Link do otwarcia na iPadzie, 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ć internetową wersję zawartości lub wyświetlić stronę promocyjną aplikacji. |
setIpadBundleId | Identyfikator pakietu aplikacji na iOS, którego można używać na iPadach do otwierania łącza. Aplikacja musi być połączona z projektem na stronie Przegląd konsoli Firebase. |
ustaw wersję minimalną | Numer wersji minimalnej aplikacji, w której można otworzyć link. Ta flaga jest przekazywana do aplikacji po jej otwarciu i aplikacja musi zdecydować, co z nią zrobić. |
Parametry nawigacji i informacji | |
---|---|
setForcedRedirectEnabled | Jeśli ustawione na „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 w bardziej niezawodny sposób odsyłać użytkowników do najbardziej odpowiedniego miejsca docelowego, gdy otwierają łącza dynamiczne w aplikacjach; jeśli jednak oczekujesz, że łącze dynamiczne będzie otwierane tylko w aplikacjach, które potrafią niezawodnie otwierać łącza dynamiczne bez tej strony, możesz je wyłączyć za pomocą tego parametru. Ten parametr będzie miał wpływ na zachowanie łącza dynamicznego tylko w systemie iOS. |
Parametry SocialMetaTag | |
---|---|
ustawTytuł | Tytuł używany podczas udostępniania łącza dynamicznego w poście społecznościowym. |
zestawOpis | Opis używany w przypadku udostępniania łącza dynamicznego w poście społecznościowym. |
ustawImageUrl | Adres URL obrazu powiązanego z tym linkiem. Obraz powinien mieć wymiary co najmniej 300x200 px i mniej niż 300 KB. |
Parametry GoogleAnalytics | |
---|---|
ustawŹródło zestawŚredni ustaw kampanię ustawTermin ustaw zawartość | 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 łącza. |
Parametry ItunesConnectAnalytics | |
---|---|
setProviderToken ustawToken Partnerski setCampaignToken | Parametry analityczne iTunes Connect. Te parametry („pt”, „at”, „ct”) są przekazywane do App Store. |