Tworzenie linków dynamicznych w Unity

Za pomocą interfejsu API Firebase Dynamic Links możesz tworzyć krótkie lub długie Dynamic Links. Interfejs API korzysta z kilku opcjonalnych struktur parametrów do tworzenia linków. Krótkie linki można też tworzyć na podstawie wcześniej wygenerowanych długich linków. Interfejs API Linków dynamicznych wygeneruje adres URL podobny do tego:

https://example.page.link/aSDf

Zanim zaczniesz

Zanim zaczniesz korzystać z Firebase Dynamic Links, musisz:

  • Zarejestruj projekt Unity i skonfiguruj go tak, aby używał Firebase.

    • Jeśli Twój projekt w Unity korzysta już z Firebase, jest już zarejestrowany i skonfigurowany pod kątem tej usługi.

    • Jeśli nie masz projektu Unity, możesz pobrać próbną aplikację.

  • Dodaj pakiet SDK Firebase Unity (szczególnie plik FirebaseDynamicLinks.unitypackage) do projektu Unity.

Pamiętaj, że dodanie Firebase do projektu Unity wymaga wykonania zadań zarówno w konsoli Firebase, jak i w otwartym projekcie Unity (np. pobieranie plików konfiguracji Firebase z konsoli i przenoszenie ich do projektu Unity).

Ustaw prefiks identyfikatora URI Dynamic Links

  1. W konsoli Firebase otwórz sekcję Dynamic Links.

  2. Jeśli nie zaakceptowałeś(-aś) jeszcze warunków korzystania z usługi i nie ustawiłeś(-aś) prefiksu URI dla Dynamic Links, zrób to, gdy pojawi się taka prośba.

    Jeśli masz już prefiks URI Dynamic Links, zanotuj go. Podczas tworzenia za pomocą kodu Dynamic Links musisz podać prefiks identyfikatora URI Dynamic Links.

  3. Zalecane: określ wzorce adresów URL dozwolone w precyzyjnych linkach i linkach zastępczych. Dzięki temu uniemożliwisz nieupoważnionym osobom tworzenie Dynamic Links, które przekierowują z Twojej domeny do witryn, nad którymi nie masz kontroli. Zapoznaj się z wzorcami adresów URL na białej liście.

Korzystanie z konsoli Firebase

Jeśli chcesz wygenerować pojedynczy Dynamic Link na potrzeby testów lub aby umożliwić zespołowi marketingowemu łatwe tworzenie linków do wykorzystania w postach w mediach społecznościowych, najprostszym sposobem jest przejście do konsoli Firebase i ręczne utworzenie linku zgodnie z podanymi instrukcjami.

Domeny niestandardowe

Możesz mieć większą kontrolę nad brandingiem Dynamic Link, używając własnej domeny zamiast domeny podrzędnej goo.gl lub page.link. Aby skonfigurować domenę niestandardową dla projektu, wykonaj te instrukcje.

Korzystanie z interfejsu Firebase Dynamic Links API

Tworzenie długiego Dynamic Link z parametrów

Aby utworzyć Dynamic Link, utwórz obiekt DynamicLinkComponents, ustawiając dowolne opcjonalne elementy na potrzeby dodatkowej konfiguracji, a następnie uzyskaj dostęp do właściwości LongDynamicLink, aby pobrać adres URL linku.

Ten minimalny przykład tworzy długi Dynamic Link do strony https://www.example.com/, która otwiera się w aplikacji na Androida com.example.android na Androidzie i aplikacji com.example.ios na 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

Tworzenie filmu Short Dynamic Link

Aby utworzyć krótki link dynamiczny, prześlij wcześniej wygenerowany długi link do Firebase.DynamicLinks.GetShortLinkAsync lub utwórz DynamicLinkComponents w taki sam sposób jak powyżej.

Funkcja GetShortLinkAsync może opcjonalnie przyjmować dodatkowy parametr konfiguracji DynamicLinkOptions z usługą PathLength, co pozwala kontrolować sposób generowania linku. Generowanie krótkiego linku wymaga wysłania żądania sieciowego do backendu Firebase, więc metoda GetShortLinkAsync jest wykonywana asynchronicznie. GetShortLinkAsync zwraca wartość Task<Firebase.DynamicLinks.ShortDynamicLink>.

Przykład:

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

Przykład powyżej używa wyrażenia lambda, które jest wywoływane po zakończeniu zadania.