Tworzenie linków dynamicznych w Unity

Za pomocą interfejsu API Firebase Dynamic Links możesz tworzyć krótkie i długie Dynamic Links. Interfejs API przyjmuje kilka opcjonalnych struktur parametrów do tworzenia linków. Krótkie linki można też tworzyć na podstawie wcześniej wygenerowanego długiego linku. Interfejs API Linków dynamicznych wygeneruje adres URL podobny do tego:

https://example.page.link/aSDf

Zanim zaczniesz

Aby korzystać z Firebase Dynamic Links, musisz:

  • zarejestrować projekt w Unity i skonfigurować go do korzystania z Firebase.

    • Jeśli Twój projekt w Unity korzysta już z Firebase, jest on już zarejestrowany i skonfigurowany do korzystania z Firebase.

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

  • dodać pakiet SDK Firebase Unity (w szczególności FirebaseDynamicLinks.unitypackage) do projektu w Unity.

Pamiętaj, że dodanie Firebase do projektu w Unity wymaga wykonania zadań zarówno w Firebase konsoli jak i w otwartym projekcie w Unity (np. pobierasz pliki konfiguracyjne Firebase z konsoli, a następnie przenosisz je do projektu w Unity).

Ustawianie prefiksu identyfikatora URI Dynamic Links

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

  2. Jeśli nie masz jeszcze zaakceptowanych warunków korzystania z usługi i nie masz ustawionego prefiksu identyfikatora URI dla Dynamic Links, zrób to, gdy pojawi się odpowiedni komunikat.

    Jeśli masz już pref0/} prefiks identyfikatora URI, zanotuj go.Dynamic Links Musisz podać prefiks identyfikatora URI Dynamic Links podczas programowego tworzenia Dynamic Links.

  3. Zalecane: określ wzorce adresów URL dozwolone w precyzyjnych linkach i linkach zastępczych. Dzięki temu uniemożliwisz nieuprawnionym osobom tworzenie Dynamic Links które przekierowują z Twojej domeny do witryn, nad którymi nie masz kontroli. Zobacz Zezwalanie na określone wzorce adresów URL.

Korzystanie z konsoli Firebase

Jeśli chcesz wygenerować pojedynczy Dynamic Link, np. na potrzeby testowania lub aby zespół marketingowy mógł łatwo utworzyć link, który można wykorzystać np. w poście w mediach społecznościowych, najprościej będzie otworzyć Firebase konsolę i utworzyć go ręcznie, korzystając z formularza krok po kroku.

Domeny niestandardowe

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

Korzystanie z interfejsu API Firebase Dynamic Links

Tworzenie długiego Dynamic Link na podstawie parametrów

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

Poniższy minimalny przykład tworzy długi Link dynamiczny do https://www.example.com/, który otwiera się w Twojej aplikacji na Androida com.example.android na Androidzie i w 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 Dynamic Link

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

GetShortLinkAsync opcjonalnie przyjmuje dodatkowy parametr konfiguracji DynamicLinkOptions z właściwością PathLength, co pozwala kontrolować sposób generowania linku. Generowanie krótkiego linku wymaga wysłania żądania sieciowego do backendu Firebase, dlatego metoda GetShortLinkAsync jest wykonywana asynchronicznie. GetShortLinkAsync zwraca 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.
  }
});

Powyższy przykład używa wyrażenia lambda, które jest wywoływane po zakończeniu zadania.