Activadores de Firebase Remote Config
Cloud Run Functions se puede activar en respuesta a cambios en Firebase Remote Config en el mismo proyecto Google Cloud que la función. Esto permite cambiar el comportamiento y la apariencia de tu aplicación sin publicar una actualización.
Tipos de eventos
Firebase Remote Config puede activar funciones como 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); }
Implementa la función
Para implementar tu función, debes especificar el tipo de evento google.firebase.remoteconfig.update.
El siguiente comando gcloud implementa una función que se activa por 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 |
El nombre registrado de la función de Cloud Run Functions que estás implementando.
Puede ser el nombre de una función en tu código fuente o una string arbitraria. Si FUNCTION_NAME es una string arbitraria, debes incluir la marca --entry-point.
|
--entry-point ENTRY_POINT |
El nombre de una función o clase en tu código fuente. Opcional, a menos que no hayas usado FUNCTION_NAME para especificar la función en tu código fuente que se ejecutará durante la implementación. En ese caso, debes usar --entry-point para proporcionar el nombre de la función ejecutable.
|
--trigger-event google.firebase.remoteconfig.update |
Activa la función después de los eventos de actualización de Firebase Remote Config. |
--runtime RUNTIME |
El nombre del entorno de ejecución que usas. Para obtener una lista completa, consulta la gcloudreferencia.
|