Вы можете лучше контролировать брендинг своих 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 , так и префикс пути. При создании Dynamic Links вам потребуется указать префикс URL-адреса.
Для настройки личного домена требуется разрешение редактора или владельца вашего проекта 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 до последней версии (6.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
с помощью REST API Hosting .Только для 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
glob, который фиксирует запрошенный путь .
Например, если вы настроили 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 } ]