Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

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

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

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

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

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

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

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

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

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

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

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

Значения параметров на стороне сервера выбираются в соответствии со следующим списком приоритетов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

REST API Remote Config предоставляет автоматический способ создания и публикации групп параметров. Предполагая, что вы знакомы с 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 currently pumpkin spice season."
        }
      }
    }
  }
}

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

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

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

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

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

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

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

Для iOS: используйте CFBundleShortVersionString приложения.

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

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

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

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

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

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

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

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

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

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

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

Тип ОС == iOS
Android
Дата / время <=,> Указанная дата и время в часовом поясе устройства или в указанном часовом поясе, например «(GMT + 11) Сиднейское время». Сравнивает текущее время со временем загрузки устройства.
Пользователь в случайном процентиле <=,> 0–100

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

Каждый экземпляр приложения постоянно сопоставляется со случайным целым или дробным числом в соответствии с ключом, определенным в этом проекте. Правило будет использовать ключ по умолчанию (отображается как DEF в консоли Firebase), если вы не выберете или не создадите другой ключ. Вы можете вернуть правило к использованию ключа по умолчанию, сняв флажок « Рандомизировать пользователей с помощью этого ключевого поля». Вы можете использовать один ключ в правилах, чтобы последовательно обращаться к одним и тем же экземплярам приложения в заданных процентных диапазонах. Или вы можете выбрать новую случайно назначенную группу экземпляров приложения для заданного процентного диапазона, создав новый ключ.

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

Пользователь в аудитории == Выберите одну или несколько аудиторий из списка аудиторий Google Analytics, которые вы создали для своего проекта.

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

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

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

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

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

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

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

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

Примечание. Автоматически собранные свойства пользователей в настоящее время недоступны при создании условий удаленной конфигурации.

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

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

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

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

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

Чтобы приступить к настройке проекта Firebase, см. Раздел Настройка проекта удаленной конфигурации Firebase .