Trigger di Remote Config Firebase
Le funzioni Cloud Run possono essere attivate in risposta alle modifiche apportate a Firebase Remote Config nello stesso Google Cloud progetto della funzione. In questo modo è possibile modificare il comportamento e l'aspetto dell'app senza pubblicare un aggiornamento.
Tipi di evento
Firebase Remote Config può attivare funzioni in risposta all'evento
remoteconfig.update
.
Tipo di evento | Trigger |
---|---|
remoteconfig.update |
Si attiva quando viene aggiornato il modello Remote Config. |
Struttura dell'evento
I dati sugli eventi vengono forniti come un oggetto remoteConfig
trasformato.
Ad esempio:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Codice di esempio
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); }
Deployment della funzione
Per eseguire il deployment della funzione, devi specificare il tipo di evento
google.firebase.remoteconfig.update
.
Il seguente comando gcloud
esegue il deployment di una funzione attivata
da un evento Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
Argomento | Descrizione |
---|---|
FUNCTION_NAME |
Il nome registrato della funzione Cloud Run di cui stai eseguendo il deployment.
Può essere il nome di una funzione nel tuo
codice sorgente o una stringa arbitraria. Se FUNCTION_NAME è una
stringa arbitraria, devi includere il
flag --entry-point .
|
--entry-point ENTRY_POINT |
Il nome di una funzione o di una classe nel codice sorgente. Facoltativo, a meno che
non hai utilizzato FUNCTION_NAME
per specificare la
funzione nel codice sorgente da eseguire durante il deployment. In questo
caso, devi utilizzare --entry-point per fornire il nome della
funzione eseguibile.
|
--trigger-event google.firebase.remoteconfig.update |
Attiva la funzione in caso di eventi di aggiornamento di Firebase Remote Config. |
--runtime RUNTIME |
Il nome del runtime che stai utilizzando. Per un elenco completo, consulta il
riferimento gcloud .
|