Tworzenie linków dynamicznych w Unity

Za pomocą interfejsu API Firebase Dynamic Links możesz tworzyć krótkie lub długie Dynamic Links. Do tworzenia połączeń interfejs API używa kilku opcjonalnych struktur parametrów. Krótkie linki można też tworzyć na podstawie wcześniej wygenerowanych długich linków. Interfejs Dynamic Links API wygeneruje 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 pod kątem korzystania z 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 (a konkretnie 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 warunki korzystania z usługi nie zostały jeszcze przez Ciebie zaakceptowane ani nie ustawiono prefiksu identyfikatora URI urządzenia Dynamic Links, zrób to, gdy pojawi się odpowiedni komunikat.

    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 dopuszczalne w przypadku precyzyjnych linków i linków 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

Aby mieć większą kontrolę nad promowaniem marki Dynamic Link, użyj własnej domeny zamiast subdomeny goo.gl lub page.link. Aby skonfigurować domenę niestandardową dla projektu, wykonaj te instrukcje.

Korzystanie z interfejsu API Firebase Dynamic Links

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

W przykładzie powyżej użyto wyrażenia lambda, które jest wywoływane po ukończeniu zadania.