Twórz dynamiczne linki z Unity

Możesz tworzyć krótkie lub długie linki dynamiczne za pomocą interfejsu Firebase Dynamic Links API. Interfejs API wymaga kilku opcjonalnych struktur parametrów do tworzenia łączy. Krótkie linki można również tworzyć z wcześniej wygenerowanych długich linków. Interfejs Dynamic Links API wygeneruje adres URL podobny do następującego:

https://example.page.link/aSDf

Zanim zaczniesz

Aby móc korzystać z linków dynamicznych Firebase , musisz:

  • Zarejestruj swój projekt Unity i skonfiguruj go do korzystania z Firebase.

    • Jeśli Twój projekt Unity korzysta już z Firebase, oznacza to, że jest już zarejestrowany i skonfigurowany dla Firebase.

    • Jeśli nie masz projektu Unity, możesz pobrać przykładową aplikację .

  • Dodaj zestaw Firebase Unity SDK (konkretnie FirebaseDynamicLinks.unitypackage ) do swojego projektu Unity.

Pamiętaj, że dodanie Firebase do projektu Unity obejmuje zadania zarówno w konsoli Firebase , jak i w otwartym projekcie Unity (na przykład pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do projektu Unity).

Ustaw prefiks identyfikatora URI linków dynamicznych

  1. W konsoli Firebase otwórz sekcję Linki dynamiczne .

  2. Jeśli jeszcze nie zaakceptowałeś warunków korzystania z usługi i nie ustawiłeś prefiksu URI dla swoich linków dynamicznych, zrób to po wyświetleniu monitu.

    Jeśli masz już prefiks identyfikatora URI Linków dynamicznych, zanotuj go. Musisz podać prefiks identyfikatora URI linków dynamicznych podczas programowego tworzenia linków dynamicznych.

  3. Zalecane : określ wzorce adresów URL dozwolone w precyzyjnych linkach i linkach rezerwowych. W ten sposób uniemożliwiasz nieupoważnionym stronom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli. Zobacz Wzorce adresów URL z białej listy .

Użyj konsoli Firebase

Jeśli chcesz wygenerować pojedynczy link dynamiczny do celów testowych lub dla zespołu marketingowego, aby łatwo utworzyć link, którego można użyć w czymś takim jak post w mediach społecznościowych, najprostszym sposobem byłoby odwiedzenie konsoli Firebase i utworzenie takiego linku ręcznie, postępując zgodnie z formularzem krok po kroku.

Domeny niestandardowe

Możesz mieć większą kontrolę nad brandingiem linku dynamicznego, używając własnej domeny zamiast subdomeny goo.gl lub page.link . Postępuj zgodnie z tymi instrukcjami , aby skonfigurować niestandardową domenę dla swojego projektu.

Korzystanie z interfejsu Firebase Dynamic Links API

Tworzenie długiego łącza dynamicznego z parametrów

Aby utworzyć łącze dynamiczne, utwórz obiekt DynamicLinkComponents , ustawiając dowolny z opcjonalnych elementów składowych dla dodatkowej konfiguracji, a następnie uzyskaj dostęp do właściwości LongDynamicLink , aby uzyskać adres URL łącza.

Poniższy minimalny przykład tworzy długi link dynamiczny do https://www.example.com/, który otwiera się w aplikacji na Androida com.example.android na Androida 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 krótkiego łącza dynamicznego

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

GetShortLinkAsync opcjonalnie przyjmuje dodatkowy parametr konfiguracyjny DynamicLinkOptions z właściwością PathLength , co pozwala kontrolować sposób generowania łącza. Generowanie krótkiego łącza wymaga żądania sieciowego do zaplecza Firebase, więc metoda GetShortLinkAsync jest wykonywana asynchronicznie. GetShortLinkAsync zwraca Task<Firebase.DynamicLinks.ShortDynamicLink> .

Na 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 powyższym przykładzie użyto wyrażenia lambda, które jest wyzwalane po zakończeniu zadania.