Trigger di Firebase Remote Config
Le funzioni Cloud Run possono essere attivate in risposta alle modifiche apportate a Firebase Remote Config nello stesso progetto Google Cloud 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 campione
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.
|