Вы можете создавать короткие или длинные Dynamic Links с помощью API Firebase Dynamic Links . API использует несколько дополнительных структур параметров для создания ссылок. Короткие ссылки также могут быть созданы из ранее созданной длинной ссылки. API динамических ссылок сгенерирует URL-адрес, подобный следующему:
https://example.page.link/aSDf
Прежде чем начать
Прежде чем вы сможете использовать Firebase Dynamic Links , вам необходимо:
Зарегистрируйте свой проект Unity и настройте его для использования Firebase.
Если ваш проект Unity уже использует Firebase, значит, он уже зарегистрирован и настроен для Firebase.
Если у вас нет проекта Unity, вы можете скачать образец приложения .
Добавьте Firebase Unity SDK (в частности,
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. } });
В приведенном выше примере используется лямбда-выражение, которое срабатывает при завершении задачи.