使用 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 時,請提供 Dynamic Links URI 前置字串。

  3. 建議:指定深層連結中允許的網址模式, 備用連結這樣就能防止未經授權的對象 建立動態連結,從你的網域重新導向至你不需要的網站 控管功能請參閱「將網址模式加入許可清單」。

使用 Firebase 控制台

產生單一動態連結 (用於測試目的或行銷團隊) 讓你不費吹灰之力建立連結 前往 Firebase 控制台 並按照逐步流程手動建立。

自訂網域

您可以運用您自己的 網域,而不是 goo.glpage.link 子網域。追蹤這些 操作說明:為 。

使用 Firebase Dynamic Links API

根據參數建立較長的動態連結

如要建立動態連結,請先建立 DynamicLinkComponents 物件, 選擇性成員的其他設定,然後存取 LongDynamicLink 屬性來取得連結網址。

以下範例最簡單的範例會建立長的動態連結, https://www.example.com/ 會透過 Android 應用程式開啟 com.example.android (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

建立簡短動態連結

如要建立短版動態連結,請將先前產生的長連結傳遞至 請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 運算式會在工作發生以下時間時觸發 已完成