您可以使用 Firebase Dynamic Links Builder API 建立短或長的 Dynamic Links。 這個 API 接受長的動態連結,或包含動態連結的物件 參數,並傳回如下範例的網址:
https://example.com/link/WXYZ
https://example.page.link/WXYZ
設定 Firebase 和 Dynamic Links SDK
您必須先將 Firebase SDK。如果您的應用程式已設為接收 Dynamic Links 可以略過這部分
在 Flutter 專案的根目錄中執行下列指令 指令安裝 Dynamic Links 外掛程式:
flutter pub add firebase_dynamic_links
如果您要建構 Android 應用程式,請開啟專案設定 並確認您已指定 SHA-1 架構中的 SHA-1 簽署金鑰。如果您使用應用程式連結,請一併指定 SHA-256 金鑰。
在 Firebase 控制台中,開啟「Dynamic Links」(動態連結)。 專區。
如果您尚未為動態連結設定網域,請按一下 按鈕並按照提示操作。
如果您已經有 Dynamic Links 網域,請加以記下。您需要執行的操作 會在您透過程式建立 Dynamic Links 時提供 Dynamic Links 網域。
推薦人選:來自「更多」(⋮) 選單指定網址 深層連結和備用連結中允許的模式。獲得解答後 可防止未經授權的對象建立會重新導向的動態連結 改成由您控制的網站
請參閱允許特定網址模式。
根據參數建立動態連結
如要建立動態連結,請建立新的 DynamicLinkParameters
物件並傳送至
buildLink()
或 buildShortLink()
。
以下範例最簡單的範例會建立長的動態連結,
在 Android 裝置上透過 com.example.app.android
開啟的https://www.example.com/
以及 iOS 上的 com.example.app.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);
如要建立簡短動態連結,請將 DynamicLinkParameters
物件傳遞至
buildShortLink()
。必須進行網路呼叫,才能建立短連結。
例如:
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);
根據預設,系統產生短連結的動態連結時,結尾只會有幾個字尾 個字元長。雖然這樣會讓連結更簡潔,但也會 因此有人猜測有效的短連結這通常 因為該連結會導向公開資訊。
不過,如果短連結會導向使用者專屬資訊,建議您
建立較長的連結,並在結尾加上 17 個字元的字尾
讓用戶能夠猜到有效的動態連結。如要這麼做,請傳遞 ShortDynamicLinkType.unguessable
改為 buildShortLink()
方法:
final unguessableDynamicLink = await FirebaseDynamicLinks.instance.buildShortLink(
dynamicLinkParams,
shortLinkType: ShortDynamicLinkType.unguessable,
);
動態連結參數
您可以使用 Dynamic Link Builder API,透過下列任一方式建立 Dynamic Links 支援的參數。請參閱 API 參考資料。
下列範例使用數個常見參數建立動態連結 設定:
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);
您可以使用下列方法設定動態連結參數:
DynamicLink 參數 | |
---|---|
setLink | 應用程式會開啟的連結。指定應用程式可處理的網址。 通常是應用程式的內容或酬載,用於啟動特定應用程式的 邏輯 (例如運用優待券或顯示 歡迎畫面)。這個連結必須是格式正確的網址 網址編碼、使用 HTTP 或 HTTPS,且不能使用其他動態 連結。 |
setDomainUriPrefix | 動態連結網址前置字串,可在 Firebase 控制台中找到。A 罩杯
Dynamic Link 網域範例如下:
https://example.com/link https://example.page.link |
Android 參數 | |
---|---|
setFallbackUrl | 未安裝應用程式時開啟的連結。指定這項操作 並非從 Play 商店安裝應用程式 裝置未安裝,例如開啟行動版網站內容。 顯示應用程式的宣傳頁面。 |
setMinimumVersion | 可開啟 連結。如果安裝的應用程式是較舊的版本,系統會將使用者導向 從 Play 商店升級應用程式 |
iOS 參數 | |
---|---|
setAppStore ID | 應用程式的 App Store ID,會在 應用程式未安裝 |
setFallbackUrl | 未安裝應用程式時開啟的連結。指定這項操作 除了從 App Store 安裝應用程式外 裝置未安裝,例如開啟行動版網站內容。 顯示應用程式的宣傳頁面。 |
setCustomScheme | 應用程式的自訂網址通訊協定 (如果定義並非 應用程式的軟體包 ID |
setIpadFallbackUrl | 未安裝應用程式時,在 iPad 上開啟的連結。將這項參數指定為 並非透過應用程式商店安裝應用程式 應用程式並未安裝,例如開啟網頁內容。 顯示應用程式的宣傳頁面。 |
setIpadBundleId | 要在 iPad 上開啟連結的 iOS 應用程式軟體包 ID。應用程式 必須在 GCP 的「總覽」頁面中,連結至您的專案 Firebase 控制台。 |
setMinimumVersion | 可開啟 連結。這個標記會在應用程式開啟後傳送到您的應用程式 必須決定該如何處理 |
NavigationInfo 參數 | |
---|---|
setForcedRedirectEnabled | 如果設為「1」,則當動態連結為 並重新導向至應用程式或商店應用程式預覽頁面 (預設為啟用) 就能更穩定地將使用者傳送至 在應用程式中開啟 Dynamic Links 時適用的目的地;不過 您預期動態連結只會在可開啟的應用程式中開啟 即使沒有這個頁面,Dynamic Links 也能透過這個程序停用 參數。這個參數會影響動態連結的行為 目前只支援 iOS 裝置 |
SocialMetaTagParameters | |
---|---|
設定標題 | 在社群媒體貼文中分享 Dynamic Link 時使用的標題。 |
setDescription | 在社群媒體貼文中分享 Dynamic Link 時使用的說明。 |
setImageUrl | 這個連結相關圖片的網址。圖片不得小於 需大於 300 x 200 像素,且小於 300 KB。 |
GoogleAnalytics 參數 | |
---|---|
setSource setMedium setCampaign setTerm setContent |
Google Play 數據分析參數。這些參數 (`utm_source`、`utm_medium`、 `utm_campaign`、`utm_term`、`utm_content`) 會傳遞至 Play 商店,也會附加至連結酬載。 |
ItunesConnectAnalyticsParameters | |
---|---|
setProviderToken setAffiliateToken setCampaignToken |
iTunes 連結數據分析參數。這些參數 (`pt` `at`、`ct`) 會傳遞到 App Store。 |