Ir a la consola

Primeros pasos con Firebase Remote Config para Unity

Puedes usar Firebase Remote Config para definir los parámetros en la app y actualizar sus valores en la nube, lo que te permite modificar el aspecto y el comportamiento de la app sin distribuir una actualización de esta.

La biblioteca de Remote Config se usa para almacenar los valores de parámetros predeterminados dentro de la app, obtener los valores de parámetros actualizados desde el servicio y controlar cuándo están disponibles los valores obtenidos para la app. Para obtener más información, consulta la descripción general de la API de Remote Config.

Agrega Remote Config a la app

Sigue estos pasos antes de empezar a usar Remote Config:

  • Registra tu proyecto de Unity y configúralo para usar Firebase.

    • Si tu proyecto de Unity ya usa Firebase, significa que ya está registrado y configurado para Firebase.

    • Si aún no tienes un proyecto de Unity, puedes descargar una app de muestra.

  • Agrega el SDK de Firebase Unity (en específico, FirebaseRemoteConfig.unitypackage) al proyecto de Unity.

Ten en cuenta que agregar Firebase a tu proyecto de Unity implica realizar tareas en Firebase console y en tu proyecto abierto de Unity (por ejemplo, descargar archivos de configuración de Firebase desde la consola y moverlos a tu proyecto de Unity).

Configura los valores de parámetros predeterminados en la app

Puedes establecer valores de parámetros predeterminados en el objeto de Remote Config para usarlo si no se recuperan otros valores del servicio. Esto permite que tu app se comporte de la manera prevista antes de que se conecte con el servicio de Remote Config.

Para esto, crea un diccionario de strings y llénalo con pares clave-valor que representen los valores predeterminados que deseas agregar. (Las propiedades que no sean strings se convertirán al tipo de la propiedad cuando se llame a SetDefaults).

System.Collections.Generic.Dictionary defaults =
  new System.Collections.Generic.Dictionary();

// These are the values that are used if we haven't fetched data from the
// service yet, or if we ask for values that the service doesn't have:
defaults.Add("propertyname_string", "default local string");
defaults.Add("propertyname_int", 1);
defaults.Add("propertyname_float", 1.0);
defaults.Add("propertyname_bool", false);

Firebase.RemoteConfig.FirebaseRemoteConfig.SetDefaults(defaults);

Cómo obtener los valores de parámetros para usar en tu app

Ahora puedes obtener los valores de parámetros desde el objeto Remote Config. Si estableciste valores en el servicio de Remote Config, los recuperaste y los activaste, esos valores están disponibles para tu app. De lo contrario, obtienes los valores de parámetro configurados dentro de la aplicación con SetDefaults().

Para obtener estos valores, usa GetValue() y proporciona la clave del parámetro como un argumento. Esto muestra un ConfigValue que tiene propiedades para convertir el valor en varios tipos base.

Conecta tu app en Firebase console

En Firebase console, agrega la app al proyecto de Firebase.

Configura los valores de parámetro en el servicio (según sea necesario)

  1. Abre el proyecto en Firebase console.
  2. Selecciona Remote Config desde el menú para ver el panel de control de Remote Config.
  3. Define los parámetros con los mismos nombres que los parámetros que definiste en la app. Para cada parámetro, puedes configurar un valor predeterminado (que eventualmente anulará el valor predeterminado en la app) y valores condicionales. Para obtener más información, consulta los parámetros y condiciones de Remote Config.

Obtén y activa valores desde el servicio (según sea necesario)

Para recuperar los valores del parámetro del servicio de Remote Config, llama al método FetchAsync(). Cualquier valor que configures en el servicio de Remote Config se recupera y se almacena en caché en el objeto de Remote Config.

Los valores obtenidos a través de FetchAsync() se almacenan en caché de manera local cuando termina la recuperación, pero no estarán disponibles hasta que se invoque ActivateFetched(). Dado que FetchAsync() se ejecuta de forma asíncrona, puedes estar seguro de que los valores nuevos no se aplican en medio del cálculo ni en otro momento que pueda causar problemas o un comportamiento extraño.

(Opcional) Habilita el modo de programador

A fin de habilitar el modo de desarrollador, que se puede usar para inhabilitar la regulación durante el desarrollo, puedes usar la propiedad FirebaseRemoteConfig.Setting, con un ConfigSettings nuevo con IsDeveloperMode configurado como verdadero.