Tạo đường liên kết động bằng Unity

Bạn có thể tạo ngắn hoặc dài Dynamic Links bằng API Firebase Dynamic Links. API này sử dụng một số cấu trúc tham số không bắt buộc để tạo đường liên kết. Bạn cũng có thể tạo đường liên kết ngắn từ một đường liên kết dài đã tạo trước đó. API Đường liên kết động sẽ tạo một URL như sau:

https://example.page.link/aSDf

Trước khi bắt đầu

Trước khi có thể sử dụng Firebase Dynamic Links, bạn cần:

  • Đăng ký dự án Unity và định cấu hình dự án đó để sử dụng Firebase.

    • Nếu dự án Unity của bạn đã sử dụng Firebase, thì dự án đó đã được đăng ký và định cấu hình cho Firebase.

    • Nếu bạn không có dự án Unity, bạn có thể tải xuống ứng dụng mẫu.

  • Thêm SDK Firebase Unity (cụ thể là FirebaseDynamicLinks.unitypackage) vào dự án Unity.

Xin lưu ý rằng việc thêm Firebase vào dự án Unity sẽ liên quan đến các tác vụ trong cả bảng điều khiển của Firebase và dự án Unity đang mở (ví dụ: bạn tải tệp cấu hình Firebase xuống từ bảng điều khiển, sau đó di chuyển các tệp đó vào dự án Unity).Firebase

Đặt tiền tố URI Dynamic Links

  1. Trong bảng điều khiển của Firebase, hãy mở phần Dynamic Links.

  2. Nếu bạn chưa chấp nhận điều khoản dịch vụ và đặt tiền tố URI cho Dynamic Links, hãy làm như vậy khi được nhắc.

    Nếu bạn đã có tiền tố URI Dynamic Links, hãy lưu ý tiền tố đó. Bạn cần cung cấp tiền tố URI Dynamic Links khi tạo Dynamic Links theo phương thức lập trình.

  3. Nên làm: Chỉ định các mẫu URL được phép trong đường liên kết sâu và đường liên kết dự phòng. Bằng cách này, bạn sẽ ngăn các bên không được phép tạo Dynamic Links chuyển hướng từ miền của bạn đến các trang web mà bạn không kiểm soát. Xem phần Cho phép các mẫu URL cụ thể.

Sử dụng bảng điều khiểnFirebase

Nếu bạn muốn tạo một Dynamic Link duy nhất (cho mục đích kiểm thử hoặc để nhóm tiếp thị của bạn dễ dàng tạo một đường liên kết có thể dùng trong một bài đăng trên mạng xã hội chẳng hạn), thì cách đơn giản nhất sẽ là truy cập vào bảng điều khiển của Firebase và tạo một đường liên kết theo cách thủ công theo biểu mẫu từng bước.

Miền tuỳ chỉnh

Bạn có thể kiểm soát thương hiệu của Dynamic Link tốt hơn bằng cách sử dụng miền của riêng mình thay vì miền con goo.gl hoặc page.link. Hãy làm theo các hướng dẫn này để thiết lập miền tuỳ chỉnh cho dự án của bạn.

Sử dụng API Firebase Dynamic Links

Tạo một Dynamic Link dài từ các tham số

Để tạo Đường liên kết động, hãy tạo đối tượng DynamicLinkComponents, đặt bất kỳ thành viên không bắt buộc nào để định cấu hình bổ sung, sau đó truy cập vào thuộc tính LongDynamicLink để lấy URL của đường liên kết.

Ví dụ tối thiểu sau đây tạo một Đường liên kết động dài đến https://www.example.com/ mở bằng ứng dụng Android com.example.android trên Android và ứng dụng com.example.ios trên 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

Tạo Đường liên kết động ngắn Dynamic Link

Để tạo Đường liên kết động ngắn, hãy chuyển một đường liên kết dài đã tạo trước đó đến Firebase.DynamicLinks.GetShortLinkAsync hoặc tạo DynamicLinkComponents theo cách tương tự như trên.

GetShortLinkAsync có thể nhận thêm tham số cấu hình DynamicLinkOptions với thuộc tính PathLength, cho phép bạn kiểm soát cách tạo đường liên kết. Việc tạo đường liên kết ngắn yêu cầu một yêu cầu mạng đến phần phụ trợ của Firebase, vì vậy, phương thức GetShortLinkAsync được thực thi không đồng bộ. GetShortLinkAsync trả về Task<Firebase.DynamicLinks.ShortDynamicLink>.

Ví dụ:

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.
  }
});

Ví dụ trên sử dụng biểu thức lambda được kích hoạt khi tác vụ hoàn tất.