Параметры и условия удаленной настройки


Вы можете настроить шаблоны для вариантов использования как клиента, так и сервера. Шаблоны клиентов передаются любым экземплярам приложений, которые реализуют клиентские SDK Firebase для Remote Config , включая приложения Android, Apple, Web, Unity, Flutter и C++. Параметры и значения Remote Config из шаблонов, специфичных для сервера, передаются реализациям Remote Config (включая Cloud Run и Cloud Functions), которые используют Firebase Admin Node.js SDK v12.1.0+.

При использовании консоли Firebase или серверных API Remote Config вы определяете один или несколько параметров (пары «ключ-значение») и предоставляете для этих параметров значения по умолчанию в приложении. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи параметров и значения параметров представляют собой строки, но значения параметров можно преобразовать в другие типы данных, когда вы используете эти значения в своем приложении.

Используя консоль Firebase , Admin SDK или REST API Remote Config , вы можете создавать новые значения по умолчанию для своих параметров, а также условные значения, которые используются для целевых групп экземпляров приложения. Каждый раз, когда вы обновляете свою конфигурацию в консоли Firebase , Firebase создает и публикует новую версию вашего шаблона Remote Config . Предыдущая версия сохраняется, что позволяет вам восстановить или откатить ее по мере необходимости. Эти операции доступны вам в консоли Firebase , Firebase Admin SDK и REST API и более подробно описаны в разделе «Управление версиями шаблонов Remote Config .

В этом руководстве объясняются параметры, условия, правила, условные значения, а также порядок определения приоритетов различных значений параметров в серверной части Remote Config и в вашем приложении. Он также предоставляет подробную информацию о типах правил, используемых для создания условий.

Условия, правила и условные значения

Условие используется для выбора группы экземпляров приложения. Условия состоят из одного или нескольких правил, каждое из которых должно иметь значение true чтобы условие было признано true для данного экземпляра приложения. Если значение правила не определено (например, когда значение недоступно), это правило будет иметь значение false .

Например, параметр, определяющий заставку приложения, может отображать разные изображения в зависимости от типа ОС с использованием правила if device_os = Android :

Снимок экрана параметра splash_page в консоли Firebase, показывающий его значение по умолчанию для iOS и условное значение для Android.

Или можно использовать условие времени , чтобы контролировать, когда в вашем приложении отображаются специальные рекламные материалы.

Параметр может иметь несколько условных значений, использующих разные условия, а параметры могут использовать общие условия в проекте. На вкладке «Параметры» консоли Firebase вы можете просмотреть процент выборки для условных значений каждого параметра. Эта метрика показывает процент запросов за последние 24 часа, получивших каждое значение.

Приоритет значения параметра

С параметром может быть связано несколько условных значений. Следующие правила определяют, какое значение извлекается из шаблона Remote Config и какое значение используется в данном экземпляре приложения в определенный момент времени:

  1. Во-первых, условные значения применяются для любых условий, которые оцениваются как true для данного клиентского запроса. Если несколько условий оцениваются как true , первое (верхнее), отображаемое в пользовательском интерфейсе консоли Firebase , имеет приоритет, а условные значения, связанные с этим условием, предоставляются, когда приложение получает значения из серверной части. Вы можете изменить приоритет условий, перетаскивая условия на вкладке «Условия» .

  2. Если условные значения с условиями, которые оцениваются как true , отсутствуют, значение по умолчанию Remote Config предоставляется, когда приложение извлекает значения из серверной части. Если параметр не существует в серверной части или если для значения по умолчанию установлено значение «Использовать по умолчанию в приложении» , тогда значение для этого параметра не предоставляется, когда приложение извлекает значения.

В вашем приложении значения параметров возвращаются методами get в соответствии со следующим списком приоритетов.

  1. Если значение было получено из серверной части, а затем активировано, приложение использует полученное значение. Значения активированных параметров являются постоянными.
  2. Если значение не было получено из серверной части или если значения, полученные из серверной части Remote Config не были активированы, приложение использует значение по умолчанию в приложении.

    Дополнительные сведения о получении и настройке значений по умолчанию см. в разделе Загрузка значений по умолчанию для шаблона Remote Config .

  3. Если значение по умолчанию в приложении не установлено, приложение использует значение статического типа (например, 0 для int и false для boolean ).

На этом рисунке показано, как значениям параметров присваиваются приоритеты в серверной части Remote Config и в вашем приложении:

Диаграмма, показывающая поток, описанный упорядоченными списками выше.

Типы данных значений параметров

Remote Config позволяет выбрать тип данных для каждого параметра и проверяет все значения Remote Config на соответствие этому типу перед обновлением шаблона. Тип данных сохраняется и возвращается по запросу getRemoteConfig .

Поддерживаемые типы данных:

  • String
  • Boolean
  • Number
  • JSON

В пользовательском интерфейсе консоли Firebase тип данных можно выбрать из раскрывающегося списка рядом с ключом параметра. В REST API типы можно задать с помощью поля value_type в объекте параметра.

Группы параметров

Remote Config позволяет группировать параметры для более организованного пользовательского интерфейса и повышения удобства использования.

Например, предположим, что вам нужно включить или отключить три разных типа аутентификации при развертывании новой функции входа в систему. С помощью Remote Config вы можете создать три параметра, чтобы включить нужные типы, а затем организовать их в группу под названием «Новый вход» без необходимости добавлять префиксы или специальную сортировку.

Вы можете создавать группы параметров с помощью консоли Firebase или REST API Remote Config . Каждая создаваемая группа параметров имеет уникальное имя в шаблоне Remote Config . При создании групп параметров имейте в виду:

  • Параметры могут быть включены только в одну группу в любой момент времени, а ключ параметра должен быть уникальным для всех параметров.
  • Имена групп параметров ограничены 256 символами.
  • Если вы используете и REST API, и консоль Firebase , убедитесь, что вся логика REST API обновлена ​​для обработки групп параметров при публикации.

Создайте или измените группы параметров с помощью консоли Firebase

Вы можете сгруппировать параметры на вкладке «Параметры» консоли Firebase . Чтобы создать или изменить группу:

  1. Выберите «Управление группами» .
  2. Установите флажки для параметров, которые вы хотите добавить, и выберите «Переместить в группу» .
  3. Выберите существующую группу или создайте новую группу, введя имя и описание и выбрав Создать новую группу . После сохранения группы ее можно будет опубликовать с помощью кнопки «Опубликовать изменения» .

Создавайте группы программно

REST API удаленной настройки предоставляет автоматизированный способ создания и публикации групп параметров. Предполагая, что вы знакомы с REST и настроены на авторизацию запросов к API, вы можете выполнить следующие шаги для программного управления группами:

  1. Получить текущий шаблон
  2. Добавьте объекты JSON для представления групп параметров.
  3. Опубликуйте группы параметров с помощью запроса HTTP PUT.

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

Например, вот отрывок из версии шаблона, в которой в группу параметров «новое меню» добавлен один параметр pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …

  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's pumpkin spice season."
        }
      }
    }
  }
}

Пользовательские условия сигнала

Условные значения пользовательских сигналов можно использовать для сопоставления произвольных сигналов, которые вы определяете и отправляете в своем приложении, с условиями, которые вы создаете на основе сигналов в Remote Config . Это позволяет адаптировать взаимодействие с приложением или клиентом.

Пользовательские условия сигнала доступны для следующих клиентских сред:

  • iOS: v11.8.0 или выше
  • Android: v22.1.0 или новее (Firebase BoM v33.8.0 или новее)
  • Веб: v11.2.0 или выше

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

  1. Добавьте banner_image_url и banner_link в шаблон клиента Remote Config . Они представляют собой изображение баннера и страницы мероприятия, связанной с этим изображением.
  2. Установите специальные сигналы из вашего приложения со значениями city preferred_event_category .
  3. Добавьте значения по умолчанию в шаблон Remote Config для конкретного клиента и создайте условные значения на основе пользовательских сигналов, которые вы установили на предыдущем шаге.
  4. Добавьте значения по умолчанию в шаблон Remote Config для конкретного клиента и условные значения для каждого определенного вами условия.
  5. Обновите код приложения, чтобы установить и использовать пользовательские условия сигнала.

Теперь ваше приложение может загрузить соответствующие banner_image_url и banner_link когда оно получает эти параметры с сервера Remote Config .

Пределы

При создании пользовательских условий сигнала необходимо придерживаться следующих ограничений:

  • Количество пользовательских сигналов: вы можете создать до 100 пользовательских сигналов.
  • Имя пользовательского сигнала. Каждое имя пользовательского сигнала может содержать не более 250 символов.
  • Значение пользовательского сигнала: Каждое значение пользовательского сигнала может содержать до 500 символов. При использовании регулярных выражений ограничение составляет 250 символов.

Типы правил условий

В консоли Firebase поддерживаются следующие типы правил. Эквивалентные функции доступны в REST API Remote Config , как подробно описано в справочнике по условным выражениям .

Тип правила Оператор(ы) Ценности) Примечание
Приложение == Выберите из списка идентификаторы приложений, связанных с вашим проектом Firebase. Когда вы добавляете приложение в Firebase, вы вводите идентификатор пакета или имя пакета Android, которое определяет атрибут, который отображается как идентификатор приложения в правилах Remote Config .

Используйте этот атрибут следующим образом:
  • Для платформ Apple: используйте CFBundleIdentifier приложения. Вы можете найти идентификатор пакета на вкладке «Общие» для основной цели вашего приложения в Xcode.
  • Для Android: используйте applicationId приложения. Вы можете найти идентификатор applicationId в файле build.gradle(.kts) уровня приложения.
Версия приложения Для строковых значений:
точно совпадает,
содержит,
не содержит,
содержит регулярное выражение

Для числовых значений:
<, <=, =, !=, >, >=

Укажите версии вашего приложения, на которые вы хотите настроить таргетинг.

Прежде чем использовать это правило, вы должны использовать правило App ID , чтобы выбрать приложение Android/Apple, связанное с вашим проектом Firebase.

Для платформ Apple: используйте CFBundleShortVersionString приложения.

Примечание. Убедитесь, что ваше приложение Apple использует SDK для платформ Firebase Apple версии 6.24.0 или выше, поскольку CFBundleShortVersionString не отправляется в более ранних версиях (см. примечания к выпуску ).

Для Android: используйте версию приложения.

При сравнении строк для этого правила учитывается регистр. При использовании оператора регулярного выражения «точно соответствует» , «содержит» , «не содержит» или «содержит» вы можете выбрать несколько значений.

Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать привязки ^ и $ для соответствия началу, концу или всей целевой строке.

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

Для числовых значений:
=, ≠, >, ≥, <, ≤

Укажите целевые сборки вашего приложения.

Прежде чем использовать это правило, вы должны использовать правило App ID , чтобы выбрать приложение Apple или Android, связанное с вашим проектом Firebase.

Этот оператор доступен только для приложений Apple и Android. Он соответствует CFBundleVersion приложения для Apple и versionCode для Android. При сравнении строк для этого правила учитывается регистр.

При использовании оператора регулярного выражения «точно соответствует» , «содержит» , «не содержит » или «содержит» вы можете выбрать несколько значений.

Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать привязки ^ и $ для соответствия началу, концу или всей целевой строке.

Платформа == iOS
Андроид
Интернет
Операционная система ==

Укажите целевые операционные системы.

Прежде чем использовать это правило, вы должны использовать правило App ID , чтобы выбрать веб-приложение, связанное с вашим проектом Firebase.

Это правило оценивается как true для данного экземпляра веб-приложения, если операционная система и ее версия соответствуют целевому значению в указанном списке.
Браузер ==

Укажите браузер(ы) для таргетинга.

Прежде чем использовать это правило, вы должны использовать правило App ID , чтобы выбрать веб-приложение, связанное с вашим проектом Firebase.

Это правило оценивается как true для данного экземпляра веб-приложения, если браузер и его версия соответствуют целевому значению в указанном списке.
Категория устройства есть, нет мобильный Это правило оценивает, является ли устройство, обращающееся к вашему веб-приложению, мобильным или немобильным (настольное или консольное). Этот тип правила доступен только для веб-приложений.
Языки находится в Выберите один или несколько языков. Это правило считается true для данного экземпляра приложения, если этот экземпляр приложения установлен на устройстве, использующем один из перечисленных языков.
Страна/регион находится в Выберите один или несколько регионов или стран. Это правило считается true для данного экземпляра приложения, если экземпляр находится в любом из перечисленных регионов или стран. Код страны устройства определяется с использованием IP-адреса устройства в запросе или кода страны, определенного Firebase Analytics (если данные Analytics передаются Firebase).
Аудитория пользователей Включает в себя хотя бы один Выберите одну или несколько аудиторий Google Analytics из списка, который вы настроили для своего проекта.

Для этого правила требуется правило App ID, чтобы выбрать приложение, связанное с вашим проектом Firebase.

Примечание. Поскольку многие аудитории Analytics определяются событиями или свойствами пользователей, которые могут основываться на действиях пользователей приложения, может потребоваться некоторое время, чтобы правило «Пользователь в аудитории» вступило в силу для данного экземпляра приложения.

Свойство пользователя Для строковых значений:
содержит,
не содержит,
точно совпадает,
содержит регулярное выражение

Для числовых значений:
=, ≠, >, ≥, <, ≤

Примечание. На клиенте для свойств пользователя можно задать только строковые значения. Для условий, в которых используются числовые операторы, Remote Config преобразует значение соответствующего пользовательского свойства в целое число или число с плавающей запятой.
Выберите из списка доступных свойств пользователя Google Analytics . Чтобы узнать, как использовать свойства пользователя для настройки приложения для конкретных сегментов вашей пользовательской базы, см. Remote Config и свойства пользователя .

Дополнительные сведения о свойствах пользователя см. в следующих руководствах:

При использовании оператора регулярного выражения «точно соответствует» , «содержит» , «не содержит» или «содержит» вы можете выбрать несколько значений.

Используя оператор contains regex , вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всей или части строки целевой версии. Вы также можете использовать привязки ^ и $ для соответствия началу, концу или всей целевой строке.

Примечание. Автоматически собираемые свойства пользователя недоступны при создании условий Remote Config .
Пользователь в случайном проценте Слайдер (в консоли Firebase. REST API использует операторы <= , > и between ). 0-100

Используйте это поле, чтобы применить изменения к случайной выборке экземпляров приложения (с размером выборки всего 0,0001%), используя виджет ползунка для разделения случайно перетасованных пользователей (экземпляров приложения) на группы.

Каждый экземпляр приложения постоянно сопоставляется со случайным целым или дробным числом в соответствии с начальным числом , определенным в этом проекте.

Правило будет использовать ключ по умолчанию (отображается как «Изменить начальное значение» в консоли Firebase ), если вы не измените начальное значение. Вы можете вернуть правилу использование ключа по умолчанию, очистив поле «Исходное значение» .

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

Например, чтобы создать два связанных условия, каждое из которых применяется к непересекающимся 5% пользователей приложения, вы можете настроить одно условие для соответствия проценту от 0% до 5% и настроить другое условие для соответствия диапазону от 5% до 10%. Чтобы позволить некоторым пользователям случайным образом появляться в обеих группах, используйте разные начальные значения для правил в каждом условии.

Импортированный сегмент находится в Выберите один или несколько импортированных сегментов. Это правило требует настройки собственных импортированных сегментов .
Дата/Время До, После Указанные дата и время либо в часовом поясе устройства, либо в указанном часовом поясе, например «(GMT+11) Сиднейское время». Сравнивает текущее время со временем выборки устройства.
Первое открытие До, После Указанная дата и время в указанном часовом поясе.

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

Требуются следующие SDK:

  • Firebase SDK для Google Analytics
  • SDK для платформ Apple v9.0.0+ или Android SDK v21.1.1+ ( Firebase BoM v30.3.0+)
Идентификатор установки находится в Укажите один или несколько идентификаторов установки (до 50) для целевого использования. Это правило считается true для данной установки, если идентификатор этой установки находится в списке значений, разделенных запятыми.

Чтобы узнать, как получить идентификаторы установки, см. раздел Получение идентификаторов клиентов .
Пользователь существует (без оператора) Нацеливается на всех пользователей всех приложений в текущем проекте.

Используйте это правило условия, чтобы сопоставить всех пользователей в проекте, независимо от приложения или платформы.

Пользовательский сигнал Для строковых значений:
содержит,
не содержит,
точно совпадает,
содержит регулярное выражение

Для числовых значений:
=, ≠, >, ≥, <, ≤

Для значений версии:
=, ≠, >, ≥, <, ≤

Сравнения строк для этого правила чувствительны к регистру. При использовании оператора регулярного выражения «точно соответствует», «содержит», «не содержит» или «содержит» вы можете выбрать несколько значений. Используя оператор contains regex, вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всей строке целевой версии или ее части. Вы также можете использовать привязки ^ и $ для соответствия началу, концу или всей целевой строке.

Для клиентских сред поддерживаются следующие типы данных:
  • iOS: целое, двойное
  • Android: int, long, double
  • Веб: номер

Число, обозначающее соответствующие номера версий (например, 2.1.0).

Дополнительную информацию о пользовательских условиях сигнала и используемых условных выражениях см. в разделах Пользовательские условия сигнала и Элементы, используемые для создания условий .

Параметры и условия поиска

Вы можете искать ключи параметров, значения параметров и условия вашего проекта из консоли Firebase , используя поле поиска в верхней части вкладки «Параметры Remote Config .

Ограничения на параметры и условия

В проекте Firebase вы можете иметь до 2000 параметров и до 500 условий. Ключи параметров могут иметь длину до 256 символов, должны начинаться с символа подчеркивания или английской буквы (AZ, az), а также могут включать цифры. Общая длина строк значений параметров в проекте не может превышать 1 000 000 символов.

Просмотр изменений параметров и условий

Вы можете просмотреть последние изменения в шаблонах Remote Config из консоли Firebase . По каждому отдельному параметру и состоянию вы можете:

  • Просмотрите имя пользователя, который последним изменил параметр или условие.

  • Если изменение произошло в тот же день, просмотрите количество минут или часов, прошедших с момента публикации изменения в активном шаблоне Remote Config .

  • Если изменение произошло один или несколько дней назад, просмотрите дату публикации изменения в активном шаблоне Remote Config .

История изменений параметров

На странице «Параметры Remote Config в столбце «Последняя публикация» отображается последний пользователь, который изменил каждый параметр, а также дата последней публикации изменения:

  • Чтобы просмотреть метаданные изменений для сгруппированных параметров, разверните группу параметров.

  • Чтобы отсортировать данные по возрастанию или убыванию по дате публикации, щелкните метку столбца «Последняя публикация» .

История изменений условий

На странице «Условия Remote Config вы можете увидеть последнего пользователя, который изменил условие, и дату, когда он его изменил, рядом с полем «Последнее изменение» для каждого условия.

Следующие шаги

Чтобы настроить проект и приложение Firebase для использования Remote Config , см . раздел Начало работы с Firebase Remote Config .,


Вы можете настроить шаблоны для вариантов использования как клиента, так и сервера. Шаблоны клиентов предоставляются любым экземплярам приложений, которые реализуют клиентские SDK Firebase для Remote Config , включая приложения Android, Apple, Web, Unity, Flutter и C++. Параметры и значения Remote Config из шаблонов, специфичных для сервера, передаются в реализации Remote Config (включая Cloud Run и Cloud Functions), которые используют Firebase Admin Node.js SDK v12.1.0+.

При использовании консоли Firebase или серверных API Remote Config вы определяете один или несколько параметров (пары «ключ-значение») и предоставляете для этих параметров значения по умолчанию в приложении. Вы можете переопределить значения по умолчанию в приложении, определив значения параметров. Ключи параметров и значения параметров представляют собой строки, но значения параметров можно преобразовать в другие типы данных, когда вы используете эти значения в своем приложении.

Используя консоль Firebase , Admin SDK или REST API Remote Config , вы можете создавать новые значения по умолчанию для своих параметров, а также условные значения, которые используются для целевых групп экземпляров приложения. Каждый раз, когда вы обновляете свою конфигурацию в консоли Firebase , Firebase создает и публикует новую версию вашего шаблона Remote Config . Предыдущая версия сохраняется, что позволяет вам восстановить или откатить ее по мере необходимости. Эти операции доступны вам в консоли Firebase , Firebase Admin SDK и REST API и более подробно описаны в разделе «Управление версиями шаблонов Remote Config .

В этом руководстве объясняются параметры, условия, правила, условные значения, а также порядок определения приоритетов различных значений параметров в серверной части Remote Config и в вашем приложении. Он также предоставляет подробную информацию о типах правил, используемых для создания условий.

Условия, правила и условные значения

Условие используется для выбора группы экземпляров приложения. Условия состоят из одного или нескольких правил, каждое из которых должно иметь значение true чтобы условие было признано true для данного экземпляра приложения. Если значение правила не определено (например, когда значение недоступно), это правило будет иметь значение false .

Например, параметр, определяющий заставку приложения, может отображать разные изображения в зависимости от типа ОС с использованием правила if device_os = Android :

Снимок экрана параметра splash_page в консоли Firebase, показывающий его значение по умолчанию для iOS и условное значение для Android.

Или можно использовать условие времени , чтобы контролировать, когда в вашем приложении отображаются специальные рекламные материалы.

Параметр может иметь несколько условных значений, использующих разные условия, а параметры могут использовать общие условия в рамках проекта. На вкладке «Параметры» консоли Firebase вы можете просмотреть процент выборки для условных значений каждого параметра. Эта метрика показывает процент запросов за последние 24 часа, получивших каждое значение.

Приоритет значения параметра

С параметром может быть связано несколько условных значений. Следующие правила определяют, какое значение извлекается из шаблона Remote Config и какое значение используется в данном экземпляре приложения в определенный момент времени:

  1. Во -первых, условные значения применяются для любых условий, которые оцениваются в true для данного запроса клиента. Если множественные условия оцениваются до true , первый (верхний), показанный в пользовательском интерфейсе консоли Firebase , имеет приоритет, а условные значения, связанные с этим условием, предоставляются, когда приложение получает значения из бэкэнда. Вы можете изменить приоритет условий, перетаскивая и сбрасывая условия на вкладке «Условия» .

  2. Если нет условных значений с условиями, которые оценивают true , значение по умолчанию Remote Config предоставляется, когда приложение получает значения из бэкэнда. Если параметр не существует в бэкэнде, или если значение по умолчанию установлено для использования в приложении , то для этого параметра не предусмотрено значение, когда приложение получает значения.

В вашем приложении значения параметров возвращаются методами get в соответствии со следующим списком приоритетов

  1. Если значение было извлечено из бэкэнда, а затем активировано, приложение использует полученное значение. Активированные значения параметров стойкие.
  2. Если из бэкэнда не было извлечено никакое значение, или если значения, извлеченные из Remote Config , не были активированы, в приложении используется значение по умолчанию в приложении.

    Для получения дополнительной информации о получении и настройке значений по умолчанию см. Загрузку Remote Config по умолчанию .

  3. Если не было установлено значение по умолчанию в приложении, в приложении используется значение статического типа (например, 0 для int и false для boolean ).

В этом графике суммируется, как значения параметров приоритеты в бэкэнге Remote Config и в вашем приложении:

Диаграмма, показывающая поток, описанный в упорядоченных списках выше

Значение параметра Типы данных

Remote Config позволяет выбрать тип данных для каждого параметра и проверяет все Remote Config по этому типу перед обновлением шаблона. Тип данных сохраняется и возвращается по запросу getRemoteConfig .

Поддерживаемые типы данных:

  • String
  • Boolean
  • Number
  • JSON

В пользовательском интерфейсе Firebase Console тип данных может быть выбран из раскрывающегося списка рядом с клавиш параметров. В API REST типы могут быть установлены с использованием поля value_type в объекте параметра.

Группы параметров

Remote Config позволяет группировать параметры вместе для более организованного пользовательского интерфейса и повысить удобство использования.

Например, скажем, вам нужно включить или отключить три различных типа авторов при развертывании новой функции входа в систему. С помощью Remote Config вы можете создать три параметра, чтобы включить желаемые типы, а затем организовать их в группе с именем «Новый вход», без необходимости добавлять префиксы или специальную сортировку.

Вы можете создать группы параметров, используя консоль Firebase или API Remote Config REST. Каждая группа параметров, которую вы создаете, имеет уникальное имя в вашем Remote Config . При создании групп параметров имейте в виду:

  • Параметры могут быть включены только в одну группу в любое время, а ключ параметров все еще должен быть уникальным для всех параметров.
  • Имена групп параметров ограничены 256 символами.
  • Если вы используете как API REST, так и консоль Firebase , убедитесь, что любая логика API REST обновляется для обработки групп параметров на публикации.

Создать или изменить группы параметров, используя консоли Firebase

Вы можете группировать параметры на вкладке «Параметры» консоли Firebase . Чтобы создать или изменить группу:

  1. Выберите группы управления .
  2. Выберите «Флакторы» для параметров, которые вы хотите добавить, и выберите «Переместить в группу» .
  3. Выберите существующую группу или создайте новую группу, введя имя и описание, и выбрав создать новую группу . После того, как вы сохраните группу, она будет опубликована, используя кнопку «Публикация изменений» .

Создавать группы программно

Удаленный API REST Config предоставляет автоматический способ создания и публикации групп параметров. Предполагая, что вы знакомы с отдыхом и настроены на авторизацию запросов на API, вы можете выполнить эти шаги для программного управления группами:

  1. Получить текущий шаблон
  2. Добавьте объекты JSON, чтобы представить свои группы параметров
  3. Опубликуйте группы параметров, используя запрос HTTP PUT.

Объект parameterGroups содержит групповые ключи, с вложенным описанием и списком сгруппированных параметров. Обратите внимание, что каждый групповой ключ должен быть глобально уникальным.

Например, вот выдержка из ревизии шаблона, которая добавляет группу параметров «Новое меню» с одним параметром, pumpkin_spice_season :

{
  "parameters": {},
  "version": {
    "versionNumber": "1",

    …

  },
  "parameterGroups": {
    "new menu": {
      "description": "New Menu",
      "parameters": {
        "pumpkin_spice_season": {
          "defaultValue": {
            "value": "true"
          },
          "description": "Whether it's pumpkin spice season."
        }
      }
    }
  }
}

Пользовательские условия сигнала

Пользовательские условные значения сигнала могут использоваться для сопоставления произвольных сигналов, которые вы определяете и отправляете в своем приложении с условиями, которые вы создаете на основе сигналов в Remote Config . Это позволяет адаптировать приложение или опыт на стороне клиента.

Пользовательские условия сигнала доступны для следующих средств клиента:

  • iOS: v11.8.0 или выше
  • Android: V22.1.0 или выше (Firebase Bom V33.8.0 или выше)
  • Интернет: v11.2.0 или выше

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

  1. Добавьте banner_image_url и banner_link в свой шаблон клиента Remote Config . Они представляют изображение баннера и страницы события, связанную с этим изображением.
  2. Установите пользовательские сигналы из вашего приложения с помощью Values city и preferred_event_category .
  3. Добавьте значения по умолчанию в свой клиентский шаблон Remote Config и создайте условные значения на основе пользовательских сигналов, которые вы устанавливаете на предыдущем шаге.
  4. Добавьте значения по умолчанию в ваш специфичный для клиента шаблон Remote Config и условные значения для каждого определенного вами условия.
  5. Обновите код приложения, чтобы установить и использовать пользовательские условия сигнала.

Теперь ваше приложение может загрузить соответствующие banner_image_url и banner_link когда оно извлекает эти параметры с сервера Remote Config .

Ограничения

При создании пользовательских условий сигнала вы должны придерживаться следующих пределов:

  • Количество пользовательских сигналов: вы можете создать до 100 пользовательских условий сигнала.
  • Пользовательское имя сигнала: каждое пользовательское имя сигнала может иметь максимум 250 символов.
  • Пользовательское значение сигнала: каждое пользовательское значение сигнала может иметь до 500 символов. При использовании регулярных выражений предел составляет 250 символов.

Типы правил условия

Следующие типы правил поддерживаются в консоли Firebase . Эквивалентные функции доступны в API Remote Config REST, как подробно описано в справочнике условного выражения .

Тип правила Оператор (ы) Ценности) Примечание
Приложение == Выберите из списка идентификаторов приложений для приложений, связанных с вашим проектом Firebase. Когда вы добавляете приложение в Firebase, вы вводите идентификатор пакета или имя пакета Android, которое определяет атрибут, который выявляется как идентификатор приложения в Remote Config .

Используйте этот атрибут следующим образом:
  • Для платформ Apple: используйте приложение CFBundleIdentifier . Вы можете найти идентификатор пакета на вкладке General для основной цели вашего приложения в XCode.
  • Для Android: используйте приложение ApplicationId . Вы можете найти applicationId в файле Application build.gradle(.kts) .
Версия приложения Для строковых значений:
точно совпадает,
содержит,
не содержит,
Содержит регулярность

Для числовых значений:
<, <=, =,! =,>,> =

Укажите версию (ы) вашего приложения на цель.

Перед использованием этого правила необходимо использовать правило идентификатора приложения для выбора приложения Android/Apple, связанного с вашим проектом Firebase.

Для платформ Apple: используйте приложение CFBundLeshortVersionString .

ПРИМЕЧАНИЕ. Убедитесь, что ваше приложение Apple использует Firebase Apple Platforms SDK версию 6.24.0 или выше, так как CFBUndLeshortVersionString не отправляется в более ранних версиях (см. Примечания к выпуску ).

Для Android: используйте имя версии приложения.

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

При использовании оператора Regex вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всем или части строки целевой версии. Вы также можете использовать якоря ^ и $ , чтобы соответствовать началу, конец или целевой строке.

Построить номер Для строковых значений:
точно совпадает,
содержит,
не содержит,
регулярное выражение

Для числовых значений:
=, ↓,>, ≥, <, ≤

Укажите сборку (ы) вашего приложения на цель.

Перед использованием этого правила вы должны использовать правило идентификатора приложения для выбора приложения Apple или Android, связанного с вашим проектом Firebase.

Этот оператор доступен только для приложений Apple и Android. Это соответствует CFBundleversion приложения для Apple и версий для Android. Сравнения строк для этого правила чувствительны к случаям.

При использовании точно совпадающих , содержит , не содержит или содержит оператор Regex , вы можете выбрать несколько значений.

При использовании оператора Regex вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всем или части строки целевой версии. Вы также можете использовать якоря ^ и $ , чтобы соответствовать началу, конец или целевой строке.

Платформа == ios
Андроид
Интернет
Операционная система ==

Укажите операционную систему (ы) для цели.

Перед использованием этого правила вы должны использовать правило идентификатора приложения для выбора веб -приложения, связанного с вашим проектом Firebase.

Это правило оценивается в true для данного экземпляра веб -приложения, если операционная система и ее версия соответствуют целевому значению в указанном списке.
Браузер ==

Укажите браузер (ы) для цели.

Перед использованием этого правила вы должны использовать правило идентификатора приложения для выбора веб -приложения, связанного с вашим проектом Firebase.

Это правило оценивается в true для данного экземпляра веб -приложения, если браузер и его версия соответствуют целевому значению в указанном списке.
Категория устройства это не мобильный Это правило оценивает, является ли устройство, доступное к вашему веб-приложению мобильным или не мобильным (настольный компьютер или консоль). Этот тип правила доступен только для веб -приложений.
Языки находится в Выберите один или несколько языков. Это правило оценивается на true для данного экземпляра приложения, если этот экземпляр приложения установлен на устройстве, которое использует один из перечисленных языков.
Страна/регион находится в Выберите один или несколько регионов или стран. Это правило оценивается в true для данного экземпляра приложения, если экземпляр находится в любом из перечисленных регионов или перечисленных стран. Код страны устройства определяется с использованием IP -адреса устройства в запросе или коде страны, определяемой Analytics Firebase (если данные аналитики передаются с Firebase).
Пользовательская аудитория (ы) Включает хотя бы один Выберите один или несколько из списка аудитории Google Analytics , которую вы настроили для своего проекта.

Это правило требует правила идентификатора приложения для выбора приложения, связанного с вашим проектом Firebase.

ПРИМЕЧАНИЕ. Поскольку многие Analytics аудитории определяются событиями или свойствами пользователя, которые могут основываться на действиях пользователей приложений, потребуется некоторое время, чтобы пользователь в правиле аудитории вступит в силу для данного экземпляра приложения.

Пользовательское свойство Для строковых значений:
содержит,
не содержит,
точно совпадает,
Содержит регулярность

Для числовых значений:
=, ↓,>, ≥, <, ≤

Примечание. На клиенте вы можете установить только строковые значения для свойств пользователя. Для условий, которые используют числовые операторы, Remote Config преобразует значение соответствующего свойства пользователя в целое число/float.
Выберите из списка доступных свойств пользователя Google Analytics . Чтобы узнать, как вы можете использовать свойства пользователя для настройки вашего приложения для очень конкретных сегментов вашей пользовательской базы, см. Remote Config и свойства пользователя .

Чтобы узнать больше о свойствах пользователя, см. Следующие руководства:

При использовании точно совпадающих , содержится , не содержит и не содержит оператора Regex , вы можете выбрать несколько значений.

При использовании оператора Regex вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всем или части строки целевой версии. Вы также можете использовать якоря ^ и $ , чтобы соответствовать началу, конец или целевой строке.

Примечание. Автоматически собранные свойства пользователя недоступны при создании Remote Config .
Пользователь в случайном проценте Слайдер (в консоли Firebase. REST API использует <= , > и between операторами). 0-100

Используйте это поле, чтобы применить изменение к случайной выборке экземпляров приложений (с размерами выборки, такими же небольшими, как 0,0001%), используя виджет слайдера для сегментов случайно обезжиренных пользователей (экземпляры приложений) в группы.

Каждый экземпляр приложения постоянно отображается со случайным целым или дробным числом, согласно семену, определенному в этом проекте.

Правило будет использовать ключ по умолчанию (показанную как редактирование семян в консоли Firebase ), если вы не измените значение семян. Вы можете вернуть правило для использования клавиши по умолчанию, очистив поле начальных классов .

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

Например, для создания двух связанных условий, которые применяются к непересекающимся 5% пользователей приложения, вы можете настроить одно условие, чтобы соответствовать проценту от 0% до 5% и настроить другое условие, чтобы соответствовать диапазону от 5% до 10%. Чтобы позволить некоторым пользователям случайным образом появляться в обеих группах, используйте разные значения семян для правил в каждом условии.

Импортный сегмент находится в Выберите один или несколько импортированного сегмента. Это правило требует настройки пользовательских импортных сегментов .
Дата/Время Прежде, после Указанная дата и время, либо в часовом поясе устройства, либо указанном часовом поясе, такой как «(GMT+11) Sydney Time». Сравнивает текущее время с временем привлечения устройства.
Первый открытый Прежде, после Указанная дата и время, в указанном часовом поясе.

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

Требуется следующие SDK:

  • Firebase SDK для Google Analytics
  • Apple Platforms SDK v9.0.0+ или Android SDK V21.1.1+ ( Firebase BoM v30.3.0+)
Идентификатор установки находится в Укажите один или несколько идентификаторов установки (до 50) для цели. Это правило оценивается в true для данной установки, если идентификатор этой установки находится в списке значений, разделенных запятыми.

Чтобы узнать, как вы можете получить идентификаторы установки, см. Идентификаторы извлечения клиентов .
Пользователь существует (без оператора) Нацеливается на всех пользователей всех приложений в текущем проекте.

Используйте это правило условия, чтобы соответствовать всем пользователям в рамках проекта, независимо от приложения или платформы.

Пользовательский сигнал Для строковых значений:
содержит,
не содержит,
точно совпадает,
Содержит регулярность

Для числовых значений:
=, ↓,>, ≥, <, ≤

Для значений версий:
=, ↓,>, ≥, <, ≤

Сравнения строк для этого правила чувствительны к случаям. При использовании точно совпадающих, содержит, не содержит или содержит оператор Regex, вы можете выбрать несколько значений. При использовании оператора Regex вы можете создавать регулярные выражения в формате RE2 . Ваше регулярное выражение может соответствовать всем или части строки целевой версии. Вы также можете использовать якоря ^ и $, чтобы соответствовать началу, конец или целевой строке.

Для клиентских средств поддерживается следующие типы данных:
  • iOS: int, двойной
  • Android: int, длинный, двойной
  • Интернет: номер

Цифра, которое представляет номер версии (ы), чтобы соответствовать (например, 2.1.0).

Для получения дополнительной информации об пользовательских условиях сигналов и условных выражениях для использования см. Пользовательские условия сигнала и элементы, используемые для создания условий .

Параметры и условия поиска

Вы можете найти клавиши параметров вашего проекта, значения параметров и условия из консоли Firebase , используя поле поиска в верхней части вкладки «Параметры Remote Config .

Ограничения на параметры и условия

В рамках проекта Firebase вы можете иметь до 2000 параметров и до 500 условий. Ключи для параметров могут длиться до 256 символов, должны начинаться с подчеркивания или английского буквенного символа (AZ, AZ), а также могут включать числа. Общая длина строк значения параметра в рамках проекта не может превышать 1 000 000 символов.

Просмотреть изменения в параметрах и условиях

Вы можете просмотреть последние изменения в ваших Remote Config из консоли Firebase . Для каждого отдельного параметра и условия вы можете:

  • Посмотрите имя пользователя, который в последний раз изменил параметр или условие.

  • Если изменение произошло в тот же день, просмотрите количество минут или часов, которые прошли, поскольку изменение было опубликовано в активный Remote Config .

  • Если изменение произошло один или несколько дней в прошлом, просмотрите дату, когда изменение было опубликовано в активный шаблон Remote Config .

История изменений для параметров

На странице удаленных параметров Remote Config в последнем опубликованном столбце показан последний пользователь, который изменил каждый параметр и последнюю дату публикации для изменения:

  • Чтобы просмотреть метаданные изменения для сгруппированных параметров, разверните группу параметров.

  • Чтобы сортировать в порядок восхождения или убывания, опубликовать дату, нажмите на последнюю опубликованную метку столбца.

Изменить историю для условий

На странице Удаленных Условий Remote Config вы можете увидеть последнего пользователя, который изменил условие и дату, которые они изменили его рядом с последним изменением в каждом условии.

Следующие шаги

Чтобы настроить свой проект Firebase и приложение для использования Remote Config , см. Запуск с Remote Config Firebase .