Tworzenie linków dynamicznych w Unity

Za pomocą interfejsu Firebase Dynamic Links API 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 wygenerowanych długich linków. Interfejs Dynamic Links API 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 korzystał z Firebase.

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

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

  • Dodaj do projektu Unity pakiet Firebase Unity SDK (a konkretnie FirebaseDynamicLinks.unitypackage).

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

Ustaw prefiks identyfikatora URI Dynamic Links

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

  2. Jeśli nie zostały jeszcze zaakceptowane przez Ciebie warunki korzystania z usługi i nie został ustawiony prefiks identyfikatora URI dla Dynamic Links, zrób to, gdy pojawi się odpowiedni komunikat.

    Jeśli masz już Dynamic Links prefiks URI, zanotuj go. Podczas programowego tworzenia 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. W ten sposób uniemożliwisz nieuprawnionym osobom tworzenie rekordów 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 testów lub aby zespół marketingowy mógł łatwo utworzyć link, który można wykorzystać np. w poście w mediach społecznościowych, najprostszym sposobem będzie przejście do Firebasekonsoli i ręczne utworzenie go za pomocą formularza krok po kroku.

Domeny niestandardowe

Możesz mieć większą kontrolę nad brandingiem Dynamic Link, używając własnej domeny zamiast subdomeny goo.gl lub page.link. 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ć Dynamiczny link, utwórz obiekt DynamicLinkComponents, ustawiając dowolne opcjonalne elementy członkowskie w celu 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 Dynamiczny Link do strony https://www.example.com/, który otwiera się w aplikacji na Androida com.example.android na urządzeniach z Androidem i w aplikacji com.example.ios na urządzeniach z 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 Dynamic Link, 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 DynamicLinkOptions config 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, 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 zakończeniu zadania.