Вы можете лучше контролировать брендинг Dynamic Links , используя собственный домен вместо поддомена page.link
. С помощью пользовательских доменов вы можете создавать Dynamic Links как показано ниже:
https://example.com/link-suffix https://example.com/links/promos/link-suffix https://links.example.com/link-suffix https://ex.amp.le/link-suffix
Часть URL-адреса перед link-suffix называется префиксом URL и содержит как ваш домен Dynamic Link , так и префикс пути. Префикс URL необходимо указать при создании Dynamic Links .
Для настройки пользовательского домена требуются права редактора или владельца вашего проекта Firebase.
Использование вашего веб-домена для Dynamic Links
Вы можете использовать один и тот же домен для Dynamic Links и веб-страниц, универсальных ссылок и ссылок приложений, но в этом случае необходимо убедиться, что URL-адреса Dynamic Link не конфликтуют с URL-адресами ваших веб-сайтов. При настройке Dynamic Links на использование определённого префикса URL-адреса все URL-адреса, начинающиеся с этого префикса, рассматриваются как Dynamic Links , поэтому вы не можете использовать URL-адреса с этим префиксом для указания на обычный размещённый контент.
Например, если вы хотите создать Dynamic Link на ресурс https://example.com/my-resource
(веб-страницу, универсальную ссылку или ссылку приложения), вы не можете использовать https://example.com/
в качестве префикса URL-адреса Dynamic Links , поскольку это приведёт к тому, что https://example.com/my-resource
будет рассматриваться как Dynamic Link . Вместо этого необходимо использовать префикс URL-адреса с другим доменом или другим префиксом пути.
Таким образом, следующие длинные Dynamic Links (и эквивалентные короткие ссылки) не будут работать так, как задумано, поскольку URL-адреса, указанные параметром link
начинаются с префикса URL-адреса Dynamic Link , https://example.com/
:
https://example.com/?link=https://example.com/my-resource https://example.com/?link=https://example.com/resources/my-resource
Но следующие длинные Dynamic Links (и эквивалентные короткие ссылки) могут работать, поскольку префиксы URL-адресов не конфликтуют с URL-адресами link
:
https://link.example.com/?link=https://example.com/my-resource https://example.com/links/?link=https://example.com/my-resource https://ex.amp.le/?link=https://example.com/my-resource
Настройте пользовательский домен в консоли Firebase
Обычно вы можете полностью настроить собственный домен в консоли Firebase . Для этого:
Если вы ещё не настроили Firebase Hosting для своего проекта, откройте страницу Hosting в консоли Firebase , нажмите «Начать» и следуйте инструкциям по настройке. На данном этапе вам не обязательно выполнять указанные шаги.
Откройте страницу Dynamic Links консоли Firebase .
Если вы ранее не использовали Dynamic Links , нажмите « Начать» . В противном случае нажмите «Добавить префикс URL» в раскрывающемся меню.
Затем завершите работу мастера настройки, указав при появлении соответствующего запроса домен и префикс пути, которые вы хотите использовать.
Только для iOS : в файле
Info.plist
вашего проекта Xcode создайте ключFirebaseDynamicLinksCustomDomains
и укажите в нём префиксы URL-адресов Dynamic Links вашего приложения. Например:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/link</string> <string>https://example.com/promos</string> </array>
Настройте собственный домен вручную
В некоторых ситуациях, например, когда у вас уже есть настроенный для Dynamic Links пользовательский домен и вы хотите добавить еще один домен, или когда вы добавляете домен, уже подключенный к сайту Hosting , вам придется настроить свой пользовательский домен вручную.
Для этого:
Подключите свой домен к Firebase Hosting если вы еще этого не сделали.
Настройка вашего домена с помощью Firebase Hosting включает создание файла конфигурации
firebase.json
в локальном каталоге проекта.Обновите Firebase CLI до последней версии (v6.5.0 или более поздней).
Настройте сайт Hosting для Dynamic Links в файле
firebase.json
вашего проекта. Если в вашем проекте несколько сайтов, обязательно настройте сайт, подключенный к домену, который вы хотите использовать.Установите для
appAssociation
значениеAUTO
. При использовании этой настройки Hosting динамически генерирует файлыassetlinks.json
иapple-app-site-association
при их запросе.Укажите префиксы путей, которые вы хотите использовать для Dynamic Links установив правила перезаписи со значением
dynamicLinks
равнымtrue
. Запросы к этим путям будут перенаправлены в Dynamic Links .В отличие от правил, которые переписывают пути в URL-адреса, правила перезаписи Dynamic Link не могут содержать регулярные выражения.
Если на вашем сайте установлено несколько правил перезаписи, учтите, что Hosting выполняет первое правило перезаписи, которое соответствует запросу.
Например:
"hosting": { // ... "appAssociation": "AUTO", "rewrites": [ { "source": "/promos/**", "dynamicLinks": true }, { "source": "/links/share/**", "dynamicLinks": true } ] }
Используя указанную выше конфигурацию, вы можете создавать Dynamic Links с префиксами URL, как в следующих примерах:
https://your-domain/promos/link-suffix https://your-domain/links/share/link-suffix
Если вы используете этот домен только для Dynamic Links , вы можете использовать исходный путь
/**
для создания Dynamic Links без префикса пути:{ "source": "/**", "dynamicLinks": true }
Используя указанное выше правило, вы можете создавать Dynamic Links как в следующем примере:
https://your-domain/link-suffix
Разверните изменения конфигурации вашего Hosting :
firebase deploy --only hosting
(необязательно) Вы можете проверить развернутое содержимое
firebase.json
с помощью Hosting REST API .Только для iOS : в файле
Info.plist
вашего проекта Xcode создайте ключFirebaseDynamicLinksCustomDomains
и укажите в нём префиксы URL-адресов Dynamic Links вашего приложения. Например:<key>FirebaseDynamicLinksCustomDomains</key> <array> <string>https://example.com/promos</string> <string>https://example.com/links/share</string> </array>
Приоритетный порядок для Dynamic Links и Hosting
Для Dynamic Links обратите особое внимание на порядок приоритетов хостинга .
- Убедитесь, что префикс URL-адреса Dynamic Links не конфликтует с конфигурациями хостинга с более высоким приоритетом (например, размещенный статический контент всегда имеет приоритет над перезаписями).
- В атрибуте
rewrites
ответ Hosting будет подчиняться правилу, указанному первымsource
глобальным массивом, который фиксирует запрошенный путь .
Например, если вы настроили Dynamic Link для your-domain / source-path / link-suffix
но у вас также есть статический контент по адресу your-domain / source-path /index.html
, приоритет будет иметь статический контент. Конечный пользователь увидит index.html
вместо Dynamic Link . Аналогично, если у вас есть статический контент по адресу your-domain / source-path / link-suffix
, конечный пользователь увидит статический контент вместо Dynamic Link .
Если вы хотите использовать один и тот же брендинг для Dynamic Links и Hosting , рассмотрите один из следующих вариантов для префикса URL-адреса Dynamic Links :
Настройте атрибут
source
так, чтобы он соответствовал префиксу пути. Например, если у вас есть пользовательский доменexample.com
, правило перезаписи может быть таким:// Domain is example.com "rewrites": [ { "source": "/links/**", // Dynamic Links start with "https://example.com/links/" "dynamicLinks": true } ]
Настройте поддомен для использования с Dynamic Links , а затем укажите атрибут
source
, соответствующий этому поддомену. Например, если у вас поддоменlinks.example.com
, правило перезаписи может быть следующим:// Domain is links.example.com "rewrites": [ { "source": "/**", // Dynamic Links start with "https://links.example.com/" "dynamicLinks": true } ]