С помощью API Firebase Dynamic Links можно создавать короткие или длинные Dynamic Links . API принимает несколько необязательных параметров для построения ссылок. Короткие ссылки также можно создать на основе ранее сгенерированной длинной ссылки. API динамических ссылок сгенерирует URL-адрес, подобный следующему:
https://example.page.link/aSDf
Прежде чем начать
Прежде чем использовать Firebase Dynamic Links , вам необходимо:
Зарегистрируйте свой проект Unity и настройте его для использования Firebase.
Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для работы с Firebase.
Если у вас нет проекта Unity, вы можете скачать пример приложения .
Добавьте SDK Firebase Unity (в частности,
FirebaseDynamicLinks.unitypackage) в свой проект Unity.
Обратите внимание, что добавление Firebase в ваш проект Unity включает в себя действия как в консоли Firebase , так и в открытом проекте Unity (например, вы загружаете файлы конфигурации Firebase из консоли, а затем перемещаете их в свой проект Unity).
Задайте префикс URI Dynamic Links
В консоли Firebase откройте раздел Dynamic Links .
Если вы еще не приняли условия предоставления услуг и не установили префикс URI для ваших Dynamic Links , сделайте это, когда появится соответствующий запрос.
Если у вас уже есть префикс URI Dynamic Links , запишите его. Вам необходимо указать префикс URI Dynamic Links при программном создании Dynamic Links .

Рекомендуется : Укажите разрешенные шаблоны URL-адресов для ваших прямых ссылок и резервных ссылок. Это предотвратит создание неавторизованными лицами Dynamic Links , перенаправляющих с вашего домена на сайты, которые вы не контролируете. См. раздел «Разрешить определенные шаблоны URL-адресов» .
Используйте консоль Firebase
Если вам нужно сгенерировать одну Dynamic Link , например, для тестирования или для того, чтобы ваша маркетинговая команда могла легко создавать ссылки для использования в публикациях в социальных сетях, самый простой способ — зайти в консоль Firebase и создать ее вручную, следуя пошаговой инструкции.
Пользовательские домены
Вы можете получить больший контроль над брендингом ваших Dynamic Link , используя собственный домен вместо поддомена goo.gl или page.link . Следуйте этим инструкциям , чтобы настроить собственный домен для вашего проекта.
Использование API Firebase Dynamic Links
Создание длинной Dynamic Link на основе параметров
Для создания динамической ссылки создайте объект 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
Создание короткой Dynamic Link
Для создания короткой динамической ссылки передайте ранее сгенерированную длинную ссылку методу 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. } });
В приведенном выше примере используется лямбда-выражение, которое срабатывает после завершения задачи.