Catch up on everthing we announced at this year's Firebase Summit. Learn more

Начать работу с Firebase Remote Config

Вы можете использовать Firebase Remote Config для определения параметров в вашем приложении и обновления их значений в облаке, что позволяет вам изменять внешний вид и поведение вашего приложения без распространения обновления приложения. Это руководство проведет вас через шаги , чтобы начать работу и предоставляет некоторые примеры кода, все из которых доступно для клона или загрузить с firebase / QuickStart-ИСНОМ GitHub хранилища.

Добавьте Remote Config в свое приложение

  1. Установите Firebase SDK для Apple , платформ.

  2. Создайте одноэлементный объект Remote Config, как показано в следующем примере:

    Быстрый

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    Цель-C

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

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

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

Установить значения параметров по умолчанию в приложении

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

  1. Определить набор имен параметров и значений параметров по умолчанию , используя NSDictionary объект или файл Plist .
  2. Добавьте эти значения к удаленному объекту Config , используя setDefaults: . В следующем примере устанавливаются значения по умолчанию в приложении из файла plist:

Быстрый

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Цель-C

[self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];

Получите значения параметров для использования в вашем приложении

Теперь вы можете получать значения параметров из объекта Remote Config. Если вы позже установите значения в бэкэнде Remote Config, получите их, а затем активируете, эти значения будут доступны вашему приложению. В противном случае, вы получите значения параметров в-приложения , настроенные с помощью setDefaults: . Для того, чтобы получить эти значения, вызовите configValueForKey: метод, обеспечивающий ключ параметра в качестве аргумента.

Установить значения параметров

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

  1. В Firebase консоли , откройте свой проект.
  2. Выберите Remote Config из меню для просмотра удаленной приборной панели Config.
  3. Определите параметры с теми же именами, что и параметры, которые вы определили в своем приложении. Для каждого параметра вы можете установить значение по умолчанию (которое в конечном итоге переопределит значение по умолчанию в приложении), а также вы можете установить условные значения. Чтобы узнать больше, см Удаленная настройка параметров и условий .

Получить и активировать значения

Для извлечения значения параметров из удаленного Config, вызовите fetchWithCompletionHandler: или fetchWithExpirationDuration:completionHandler: метод. Любые значения, которые вы устанавливаете на серверной части, извлекаются и кэшируются в объекте Remote Config.

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

Этот пример извлекает значения из удаленного внутреннего интерфейса Config (не кэшируются значения) и вызывает activateWithCompletionHandler: чтобы сделать их доступными для приложения:

Быстрый

remoteConfig.fetch { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate { changed, error in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.displayWelcome()
}

Цель-C

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self displayWelcome];
}];

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

Дросселирование

Если приложение получает слишком много раз в течение короткого периода времени, получать вызовы задушили и возвращает SDK FIRRemoteConfigFetchStatusThrottled . До версии SDK 6.3.0 ограничение составляло 5 запросов на выборку в 60-минутном окне (более новые версии имеют более разрешительные ограничения).

Во время разработки приложения вам может потребоваться очень часто обновлять кеш (много раз в час), чтобы вы могли быстро выполнять итерации при разработке и тестировании приложения. Для размещения быстрой итерации проекта с многочисленными разработчиками, вы можете временно добавить FIRRemoteConfigSettings свойства с низким минимумом выборкой интервала ( MinimumFetchInterval ) в вашем приложении.

По умолчанию и рекомендуемый интервал производственной выборки для Remote Config составляет 12 часов, что означает, что конфигурации не будут извлекаться из серверной части более одного раза в 12-часовом окне, независимо от того, сколько вызовов выборки фактически сделано. В частности, минимальный интервал выборки определяется в следующем порядке:

  1. Параметр fetch(long)
  2. Параметр FIRRemoteConfigSettings.MinimumFetchInterval
  3. Значение по умолчанию - 12 часов.

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

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