使用 Unity 建立 Dynamic Links

您可以透過 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 前置字串

  1. Firebase 控制台中開啟「Dynamic Links部分。

  2. 如果您尚未接受服務條款,並為 Dynamic Links 設定 URI 前置字串,請在系統提示時完成這些步驟。

    如果您已擁有 Dynamic Links URI 前置字串,請記下這項資訊。您必須在程式輔助方式建立 Dynamic Links 時提供 Dynamic Links URI 前置字串。

  3. 建議:指定深層連結和備用連結中允許的網址模式。這樣一來,您就能防止未經授權的對象建立 Dynamic Links,從您的網域重新導向至您無法控管的網站。請參閱「將網址模式加入許可清單」。

使用 Firebase 主控台

如果您想產生單一 Dynamic Link,無論是為了測試,還是讓行銷團隊輕鬆建立可用於社群媒體貼文等內容的連結,最簡單的方法就是前往 Firebase 控制台,然後按照逐步表單手動建立。

自訂網域

您可以使用自己的網域 (而非 goo.glpage.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 運算式,會在工作完成時觸發。