Tworzenie linków dynamicznych w Unity

Krótkie i długie linki dynamiczne możesz tworzyć za pomocą interfejsu Firebase Dynamic Links API. Do tworzenia połączeń interfejs API używa kilku opcjonalnych struktur parametrów. Krótkie linki można też tworzyć z wygenerowanych wcześniej długich linków. Interfejs Dynamic Links API wygeneruje adres URL podobny do tego:

https://example.page.link/aSDf

Zanim zaczniesz

Zanim użyjesz Linków dynamicznych Firebase, musisz wykonać te czynności:

  • Zarejestruj projekt Unity i skonfiguruj go pod kątem korzystania z Firebase.

    • Jeśli Twój projekt w Unity korzysta już z Firebase, oznacza to, że został zarejestrowany i skonfigurowany pod kątem Firebase.

    • Jeśli nie masz projektu w Unity, możesz pobrać przykładową 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. musisz pobrać z konsoli pliki konfiguracyjne Firebase, a następnie przenieść je do projektu Unity).

Ustawianie prefiksu identyfikatora URI Linków dynamicznych

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

  2. Jeśli nie zaakceptowałeś jeszcze warunków korzystania z usługi ani nie ustawiłeś prefiksu identyfikatora URI linków dynamicznych, zrób to, gdy pojawi się odpowiedni komunikat.

    Jeśli masz już prefiks identyfikatora URI Linków dynamicznych, zanotuj go. Podczas automatycznego tworzenia linków dynamicznych musisz podać prefiks identyfikatora URI Linków dynamicznych.

  3. Zalecane: określ wzorce adresów URL dopuszczalne w przypadku precyzyjnych linków i linków zastępczych. Dzięki temu uniemożliwisz nieautoryzowanym osobom tworzenie linków dynamicznych przekierowujących z Twojej domeny do witryn, nad którymi nie masz kontroli. Zobacz Umieszczanie wzorców adresów URL na białej liście.

Korzystanie z konsoli Firebase

Jeśli chcesz wygenerować pojedynczy link dynamiczny do celów testowych lub dla swojego zespołu marketingowego, aby go łatwo utworzyć, np. w poście w mediach społecznościowych, najprostszym sposobem jest skorzystanie z konsoli Firebase i utworzenie linku ręcznie według instrukcji krok po kroku.

Domeny niestandardowe

Możesz mieć większą kontrolę nad promowaniem marki linku dynamicznego, używając własnej domeny zamiast subdomeny goo.gl lub page.link. Wykonaj te instrukcje, aby skonfigurować niestandardową domenę dla swojego projektu.

Korzystanie z interfejsu Firebase Dynamic Links API

Tworzenie długiego linku dynamicznego na podstawie parametrów

Aby utworzyć link dynamiczny, utwórz obiekt DynamicLinkComponents, ustaw dowolnych opcjonalnych użytkowników na potrzeby dodatkowej konfiguracji, a następnie uzyskaj dostęp do właściwości LongDynamicLink, aby uzyskać adres URL linku.

Ten minimalny przykład tworzy długi link dynamiczny do strony https://www.example.com/, który otwiera się w aplikacji na Androida com.example.android w wersji na Androida i w aplikacji com.example.ios w systemie 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 linku dynamicznego

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

Funkcja GetShortLinkAsync opcjonalnie wykorzystuje dodatkowy parametr konfiguracji DynamicLinkOptions z właściwością PathLength, co pozwala kontrolować sposób generowania połączenia. Wygenerowanie 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.