Catch up on highlights from Firebase at Google I/O 2023. Learn more

Создавайте динамические ссылки с Unity

Вы можете создавать короткие или длинные динамические ссылки с помощью Firebase Dynamic Links API. API использует несколько необязательных структур параметров для создания ссылок. Короткие ссылки также могут быть созданы из ранее сгенерированной длинной ссылки. API динамических ссылок создаст URL-адрес, подобный следующему:

https://example.page.link/aSDf

Прежде чем вы начнете

Прежде чем вы сможете использовать динамические ссылки Firebase , вам необходимо:

  • Зарегистрируйте свой проект Unity и настройте его для использования Firebase.

    • Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.

    • Если у вас нет проекта Unity, вы можете скачать образец приложения .

  • Добавьте Firebase Unity SDK (в частности, FirebaseDynamicLinks.unitypackage ) в свой проект Unity.

Обратите внимание, что добавление Firebase в ваш проект Unity включает задачи как в консоли Firebase , так и в вашем открытом проекте Unity (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект Unity).

Установите префикс URI динамических ссылок

  1. В консоли Firebase откройте раздел «Динамические ссылки» .

  2. Если вы еще не приняли условия обслуживания и не установили префикс URI для своих динамических ссылок, сделайте это при появлении запроса.

    Если у вас уже есть префикс URI динамических ссылок, запишите его. Вам необходимо предоставить префикс URI динамических ссылок при программном создании динамических ссылок.

  3. Рекомендуется . Укажите шаблоны URL, разрешенные для ссылок на контент и резервных ссылок. Тем самым вы предотвращаете создание динамических ссылок неавторизованными сторонами, которые перенаправляют вас с вашего домена на сайты, которые вы не контролируете. См. шаблоны URL-адресов в белом списке .

Используйте консоль Firebase

Если вы хотите создать одну динамическую ссылку либо для целей тестирования, либо для вашей маркетинговой команды, чтобы легко создать ссылку, которую можно использовать в чем-то вроде сообщения в социальной сети, самый простой способ — посетить консоль Firebase и создать ее. вручную, следуя пошаговой форме.

Пользовательские домены

Вы можете лучше контролировать брендинг своей динамической ссылки, используя свой собственный домен вместо поддомена goo.gl или page.link . Следуйте этим инструкциям , чтобы настроить собственный домен для вашего проекта.

Использование API динамических ссылок Firebase

Создание длинной динамической ссылки из параметров

Чтобы создать динамическую ссылку, создайте объект DynamicLinkComponents , задав любой из необязательных элементов для дополнительной настройки, а затем получите доступ к свойству LongDynamicLink , чтобы получить URL-адрес ссылки.

В следующем минимальном примере создается длинная динамическая ссылка на https://www.example.com/, которая открывается с помощью вашего приложения Android com.example.android на Android и приложения com.example.ios на 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

Создание короткой динамической ссылки

Чтобы создать короткую динамическую ссылку, передайте ранее созданную длинную ссылку в Firebase.DynamicLinks.GetShortLinkAsync или создайте DynamicLinkComponents таким же образом, как описано выше.

GetShortLinkAsync дополнительно принимает дополнительный параметр конфигурации DynamicLinkOptions со свойством PathLength , что позволяет вам контролировать способ создания ссылки. Для создания коротких ссылок требуется сетевой запрос к серверной части Firebase, поэтому метод GetShortLinkAsync выполняется асинхронно. GetShortLinkAsync возвращает Task<Firebase.DynamicLinks.ShortDynamicLink> .

Например:

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.
  }
});

В приведенном выше примере используется лямбда-выражение, которое срабатывает при завершении задачи.