Вы можете лучше контролировать брендинг своих динамических ссылок, используя свой собственный домен вместо поддомена 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-адреса и содержит как ваш собственный домен динамической ссылки, так и префикс пути. Вам нужно будет указать префикс 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 Hosting, если вы еще этого не сделали.
Настройка вашего домена с помощью Firebase Hosting включает создание файла конфигурации
firebase.json
в вашем локальном каталоге проекта.Обновите Firebase CLI до последней версии (v6.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
с помощью Hosting 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
ответ Hosting будет подчиняться правилу, заданному первымsource
глобусом, который фиксирует запрошенный путь .
Например, если вы настроили динамическую ссылку для 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 } ]