您可以透過 Firebase Dynamic Links API 製作簡短或長的 Dynamic Links。API 會使用數種選用參數結構來建立連結。短連結可以 透過先前產生的長連結建立Dynamic Links API 會產生類似下方的網址:
https://example.page.link/aSDf
事前準備
使用前 Firebase Dynamic Links, 請完成下列操作:
註冊 Unity 專案並設定使用 Firebase。
如果您的 Unity 專案已在使用 Firebase, 已完成註冊和設定程序。
如果您沒有 Unity 專案,可以下載應用程式示例。
將 Firebase Unity SDK (特別是
FirebaseDynamicLinks.unitypackage
) 新增至 Unity 專案
請注意,將 Firebase 新增至 Unity 專案時,需要在 Firebase 主控台和您開啟的 Unity 專案中執行任務 (例如,從主控台下載 Firebase 設定檔,然後將其移至 Unity 專案)。
設定 Dynamic Links URI 前置字串
在 Firebase 控制台中開啟「Dynamic Links」部分。
如果您尚未接受服務條款,並為 Dynamic Links 設定 URI 前置字串,請在系統提示時完成這些步驟。
如果您已擁有 Dynamic Links URI 前置字串,請記下這項資訊。您必須在程式輔助方式建立 Dynamic Links 時提供 Dynamic Links URI 前置字串。
建議:指定深層連結和備用連結中允許的網址模式。這樣一來,您就能防止未經授權的對象建立 Dynamic Links,從您的網域重新導向至您無法控管的網站。請參閱「將網址模式加入許可清單」。
使用 Firebase 主控台
如果您想產生單一 Dynamic Link,無論是為了測試,還是讓行銷團隊輕鬆建立可用於社群媒體貼文等內容的連結,最簡單的方法就是前往 Firebase 控制台,然後按照逐步表單手動建立。
自訂網域
您可以使用自己的網域 (而非 goo.gl
或 page.link
子網域),進一步控管 Dynamic Link 的品牌形象。追蹤這些
操作說明:為
。
使用 Firebase Dynamic Links API
透過參數建立較長的 Dynamic Link
如要建立動態連結,請建立 DynamicLinkComponents
物件,設定任何選用成員以便進行額外設定,然後存取 LongDynamicLink
屬性以取得連結網址。
以下簡單範例會建立長的動態連結,連結至 https://www.example.com/,並在 Android 上使用 Android 應用程式 com.example.android 和 iOS 上的應用程式 com.example.ios 開啟:
var components = new Firebase.DynamicLinks.DynamicLinkComponents( // The base Link. new System.Uri("https://www.example.com/"), // The dynamic link URI prefix. "https://example.page.link") { IOSParameters = new Firebase.DynamicLinks.IOSParameters("com.example.ios"), AndroidParameters = new Firebase.DynamicLinks.AndroidParameters( "com.example.android.package_name"), }; // do something with: components.LongDynamicLink
建立 Shorts Dynamic Link
如要建立短版動態連結,請將先前產生的長連結傳遞至
請Firebase.DynamicLinks.GetShortLinkAsync
,或在以下位置建構 DynamicLinkComponents
:
方法與上述說明相同
GetShortLinkAsync
可選擇採用額外的 DynamicLinkOptions
設定
參數搭配 PathLength
屬性,讓您控制連結的方式
。產生短網址時,系統會向 Firebase 後端提出網路要求,因此 GetShortLinkAsync
方法會以非同步方式執行。GetShortLinkAsync
會傳回 Task<Firebase.DynamicLinks.ShortDynamicLink>
。
例如:
var options = new Firebase.DynamicLinks.DynamicLinkOptions { PathLength = DynamicLinkPathLength.Unguessable }; Firebase.DynamicLinks.DynamicLinks.GetShortLinkAsync(components, options).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("GetShortLinkAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("GetShortLinkAsync encountered an error: " + task.Exception); return; } // Short Link has been created. Firebase.DynamicLinks.ShortDynamicLink link = task.Result; Debug.LogFormat("Generated short link {0}", link.Url); var warnings = new System.Collections.Generic.List<string>(link.Warnings); if (warnings.Count > 0) { // Debug logging for warnings generating the short link. } });
上方範例使用的是 lambda 運算式,會在工作完成時觸發。