Tworzenie linków dynamicznych w Unity

Za pomocą interfejsu API Firebase Dynamic Links możesz tworzyć krótkie lub długie Dynamic Links. Interfejs API wykorzystuje kilka opcjonalnych struktur parametrów do tworzenia linków. Krótkie linki można też tworzyć na podstawie 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 zaczniesz korzystać z Firebase Dynamic Links, musisz:

  • Zarejestruj projekt Unity i skonfiguruj go tak, aby używał Firebase.

    • Jeśli Twój projekt Unity korzysta już z Firebase, jest 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 SDK Firebase Unity (a konkretnie FirebaseDynamicLinks.unitypackage).

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

Ustaw prefiks identyfikatora URI Dynamic Links

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

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

    Jeśli masz już prefiks identyfikatora URI Dynamic Links, zanotuj go. Podczas automatycznego 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. 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. Zobacz Zezwalanie na określone wzorce adresów URL.

Korzystanie z konsoli Firebase

Jeśli chcesz wygenerować pojedynczy Dynamic Link do celów testowych lub dla zespołu marketingowego, aby łatwo utworzyć link, który można wykorzystać na przykład w poście w mediach społecznościowych, najprostszym sposobem jest odwiedzenie konsoli Firebase i ręczne utworzenie linku za pomocą formularza.

Własne domeny

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ć własną domenę dla projektu, postępuj zgodnie z tymi instrukcjami.

Korzystanie z interfejsu API Firebase Dynamic Links

Tworzę długi parametr Dynamic Link na podstawie parametrów

Aby utworzyć link dynamiczny, utwórz obiekt DynamicLinkComponents, ustaw dowolne opcjonalne elementy, aby uzyskać dodatkową konfigurację, a następnie uzyskaj dostęp do właściwości LongDynamicLink, aby pobrać adres URL linku.

Poniższy przykład pokazuje, jak utworzyć długi link dynamiczny do strony https://www.example.com/, który otwiera się w 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 filmu Short Dynamic Link

Aby utworzyć krótki link dynamiczny, przekaż wygenerowany wcześniej 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 właściwością PathLength, co pozwala kontrolować sposób generowania linku. Generowanie krótkiego linku wymaga żądania sieciowego do backendu Firebase, więc 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.
  }
});

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