Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Настройте личный домен для динамических ссылок

Вы можете иметь больший контроль над динамическими связями брендинг, используя свой собственный домен вместо 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 (веб - страницы, Universal Link, или App Link), вы не можете использовать https://example.com/ в качестве префикса динамического URL ссылки, так как это приведет к https://example.com/my-resource следует рассматривать как Dynamic Link. Вместо этого вы должны использовать префикс URL либо с другим доменом, либо с другим префиксом пути.

Таким образом, после длительного форма динамической ссылки (и эквивалентные короткие ссылки) не будет работать , как задумано , так как URL , указанный в link параметр запуска с префиксом Dynamic 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 префиксы не конфликтуют с 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. Для этого:

  1. Если вы не настроили Firebase хостинга для вашего проекта, откройте хостинг страницы в Firebase консоли, нажмите НАЧАТЬ и нажмите кнопку с помощью инструкции по установке. В настоящее время вам не нужно выполнять указанные шаги.

  2. Откройте страницу Динамические ссылки консоли Firebase.

  3. Если вы раньше не использовали динамические ссылки, нажмите кнопку Начать. В противном случае, нажмите кнопку Добавить URL префикс из выпадающего меню.

    Затем завершите работу мастера установки, указав домен и префикс пути, который вы хотите использовать, когда будет предложено.

  4. IOS только: В Вашем проекте Xcode в Info.plist файл, создайте ключ называется FirebaseDynamicLinksCustomDomains и установить его на динамические ссылки URL префиксов вашего приложения. Например:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

Настроить личный домен вручную

В некоторых ситуациях, например, когда у вас уже есть собственный домен, настроенный для динамических ссылок, и вы хотите добавить еще один домен, или когда вы добавляете домен, уже подключенный к сайту хостинга, вам необходимо настроить собственный домен вручную.

Для этого:

  1. Подключите ваш домен Firebase хостинг , если вы еще не сделали этого.

    Настройка вашего домена с Firebase хостинга включает в себя создание файла конфигурации firebase.json в локальном каталоге проекта.

  2. Обновление до последней версии Firebase CLI (v6.5.0 или более поздней версии).

  3. Настройка хостинга сайта для динамических связей в вашем проекте 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

  4. Развертывание хостинга изменения конфигурации:

    firebase deploy --only hosting

    (опционально) Вы можете проверить развернутый firebase.json содержимого с помощью хостинга REST API .

  5. IOS только: В Вашем проекте Xcode в Info.plist файл, создайте ключ называется FirebaseDynamicLinksCustomDomains и установить его на динамические ссылки URL префиксов вашего приложения. Например:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Приоритетный порядок динамических ссылок и хостинга

Для динамических связей, особенно в курсе хостинга порядка приоритета .

  • Убедитесь, что префикс URL-адреса динамических ссылок не конфликтует с конфигурациями хостинга с более высоким приоритетом (например, размещенный статический контент всегда имеет приоритет перед перезаписью).
  • В rewrites атрибута Хостинг ответ будет следовать правилу , заданным первым 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.

Если вы хотите использовать один и тот же брендинг как для динамических ссылок, так и для хостинга, рассмотрите один из следующих вариантов префикса 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
    } ]