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 .
|