Activadores de Firebase Remote Config
Las funciones de Cloud Run se pueden activar como respuesta a los cambios en Firebase Remote Config en el mismo proyecto Google Cloud que la función. Esto te permite cambiar el comportamiento y el aspecto de tu aplicación sin tener que publicar una versión actualizada.
Tipos de eventos
Firebase Remote Config puede activar funciones en respuesta al evento remoteconfig.update.
| Tipo de evento | Activador |
|---|---|
remoteconfig.update |
Se activa cuando se actualiza la plantilla de Remote Config. |
Estructura de eventos
Los datos de eventos se proporcionan como un objeto remoteConfig transformado.
Por ejemplo:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Código de muestra
Node.js
Python
Go
Java
C#
using CloudNative.CloudEvents; using Google.Cloud.Functions.Framework; using Google.Events.Protobuf.Firebase.RemoteConfig.V1; using Microsoft.Extensions.Logging; using System.Threading; using System.Threading.Tasks; namespace FirebaseRemoteConfig; public class Function : ICloudEventFunction<RemoteConfigEventData> { private readonly ILogger _logger; public Function(ILogger<Function> logger) => _logger = logger; public Task HandleAsync(CloudEvent cloudEvent, RemoteConfigEventData data, CancellationToken cancellationToken) { _logger.LogInformation("Update type: {origin}", data.UpdateType); _logger.LogInformation("Update origin: {origin}", data.UpdateOrigin); _logger.LogInformation("Version number: {version}", data.VersionNumber); // In this example, we don't need to perform any asynchronous operations, so the // method doesn't need to be declared async. return Task.CompletedTask; } }
Ruby
PHP
use Google\CloudFunctions\CloudEvent; function firebaseRemoteConfig(CloudEvent $cloudevent) { $log = fopen(getenv('LOGGER_OUTPUT') ?: 'php://stderr', 'wb'); $data = $cloudevent->getData(); fwrite($log, 'Update type: ' . $data['updateType'] . PHP_EOL); fwrite($log, 'Origin: ' . $data['updateOrigin'] . PHP_EOL); fwrite($log, 'Version: ' . $data['versionNumber'] . PHP_EOL); }
Desplegar una función
Para implementar la función, debe especificar el tipo de evento
google.firebase.remoteconfig.update.
El siguiente comando gcloud implementa una función que se activa
mediante un evento de Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
| Argumento | Descripción |
|---|---|
FUNCTION_NAME |
Nombre registrado de la función de Cloud Run que vas a desplegar.
Puede ser el nombre de una función de tu código fuente o una cadena arbitraria. Si FUNCTION_NAME es una cadena arbitraria, debes incluir la marca --entry-point.
|
--entry-point ENTRY_POINT |
El nombre de una función o una clase en el código fuente. Opcional, a menos que no hayas usado FUNCTION_NAME
para especificar la función en el código fuente que se va a ejecutar durante la implementación. En ese caso, debes usar --entry-point para indicar el nombre de la función ejecutable.
|
--trigger-event google.firebase.remoteconfig.update |
Activa la función cuando se produzcan eventos de actualización de Firebase Remote Config. |
--runtime RUNTIME |
El nombre del tiempo de ejecución que estás usando. Para ver una lista completa, consulta la referencia de gcloud.
|