获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

Primeiros passos com o Configuração remota do Firebase


Você pode usar o Firebase Remote Config para definir parâmetros em seu aplicativo e atualizar seus valores na nuvem, permitindo que você modifique a aparência e o comportamento de seu aplicativo sem distribuir uma atualização de aplicativo. Este guia orienta você pelas etapas para começar e fornece alguns códigos de amostra, todos disponíveis para clonar ou baixar no repositório GitHub firebase/quickstart-ios .

Etapa 1: adicionar configuração remota ao seu aplicativo

  1. Instale o Firebase SDK para plataformas Apple.

  2. Crie o objeto Singleton Remote Config, conforme mostrado no exemplo a seguir:

    Rápido

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

    Objective-C

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

Esse objeto é usado para armazenar valores de parâmetros padrão no aplicativo, buscar valores de parâmetros atualizados no back-end do Configuração remota e controlar quando os valores buscados são disponibilizados para seu aplicativo.

Durante o desenvolvimento, é recomendável definir um intervalo de busca mínimo relativamente baixo. Consulte Limitação para obter mais informações.

Etapa 2: definir valores de parâmetro padrão no aplicativo

Você pode definir valores de parâmetro padrão no aplicativo no objeto Remote Config, para que seu aplicativo se comporte como pretendido antes de se conectar ao back-end do Remote Config e para que os valores padrão estejam disponíveis se nenhum for definido no back-end.

  1. Defina um conjunto de nomes de parâmetros e valores de parâmetros padrão usando um objeto NSDictionary ou um arquivo plist .

    Se você já configurou os valores de parâmetro de back-end do Remote Config, pode baixar um arquivo plist gerado que inclui todos os valores padrão e salvá-lo em seu projeto Xcode.

    DESCANSO

    curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=PLIST -o RemoteConfigDefaults.plist
    

    Console do Firebase

    1. Na guia Parâmetros , abra o menu e selecione Baixar valores padrão .

    2. Quando solicitado, ative .plist para iOS e clique em Baixar arquivo .

  2. Adicione estes valores ao objeto Remote Config usando setDefaults: . O exemplo a seguir define valores padrão no aplicativo de um arquivo plist:

    Rápido

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Objective-C

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

Etapa 3: obter valores de parâmetro para usar em seu aplicativo

Agora você pode obter valores de parâmetro do objeto Remote Config. Se você definir valores posteriormente no back-end do Configuração remota, buscá-los e ativá-los, esses valores estarão disponíveis para seu aplicativo. Caso contrário, você obtém os valores de parâmetro no aplicativo configurados usando setDefaults: . Para obter esses valores, chame o método configValueForKey: fornecendo a chave do parâmetro como argumento.

Etapa 4: definir valores de parâmetro

Usando o Firebase console ou as APIs de back-end do Remote Config , você pode criar novos valores padrão de back-end que substituem os valores no aplicativo de acordo com sua lógica condicional desejada ou segmentação de usuário. Esta seção orienta você pelas etapas do Firebase console para criar esses valores.

  1. No console do Firebase , abra seu projeto.
  2. Selecione Remote Config no menu para visualizar o painel Remote Config.
  3. Defina parâmetros com os mesmos nomes dos parâmetros que você definiu em seu aplicativo. Para cada parâmetro, você pode definir um valor padrão (que eventualmente substituirá o valor padrão do aplicativo) e também pode definir valores condicionais. Para saber mais, consulte Parâmetros e condições do Remote Config .

Etapa 5: buscar e ativar valores

Para buscar valores de parâmetros do Configuração remota, chame o fetchWithCompletionHandler: ou fetchWithExpirationDuration:completionHandler: Quaisquer valores que você definir no back-end são buscados e armazenados em cache no objeto Remote Config.

Para casos em que você deseja buscar e ativar valores em uma chamada, use fetchAndActivateWithCompletionHandler: .

Este exemplo busca valores do back-end do Configuração remota (não valores em cache) e chama activateWithCompletionHandler: para disponibilizá-los ao aplicativo:

Rápido

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()
}

Objective-C

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

Como esses valores de parâmetro atualizados afetam o comportamento e a aparência de seu aplicativo, você deve ativar os valores buscados em um momento que garanta uma experiência tranquila para o usuário, como na próxima vez que o usuário abrir seu aplicativo. Consulte Estratégias de carregamento do Remote Config para obter mais informações e exemplos.

Estrangulamento

Se um aplicativo buscar muitas vezes em um curto período de tempo, as chamadas de busca serão limitadas e o SDK retornará FIRRemoteConfigFetchStatusThrottled . Antes da versão 6.3.0 do SDK, o limite era de 5 solicitações de busca em uma janela de 60 minutos (versões mais recentes têm limites mais permissivos).

Durante o desenvolvimento do aplicativo, talvez você queira atualizar o cache com muita frequência (muitas vezes por hora) para permitir uma iteração rápida à medida que desenvolve e testa seu aplicativo. To accommodate rapid iteration on a project with numerous developers, you can temporarily add a FIRRemoteConfigSettings property with a low minimum fetch interval ( MinimumFetchInterval ) in your app.

The default and recommended production fetch interval for Remote Config is 12 hours, which means that configs won't be fetched from the backend more than once in a 12 hour window, regardless of how many fetch calls are actually made. Specifically, the minimum fetch interval is determined in this following order:

  1. The parameter in fetch(long)
  2. The parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. The default value of 12 hours

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: