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