Pemicu Firebase Remote Config
Fungsi Cloud Run dapat dipicu sebagai respons terhadap perubahan Firebase Remote Config dalam project Google Cloud yang sama dengan fungsi. Hal ini memungkinkan Anda mengubah perilaku dan tampilan aplikasi tanpa memublikasikan update aplikasi.
Jenis peristiwa
Firebase Remote Config dapat memicu fungsi sebagai respons terhadap peristiwa remoteconfig.update
.
Jenis Peristiwa | Pemicu |
---|---|
remoteconfig.update |
Dipicu saat template remote config diperbarui. |
Struktur peristiwa
Data peristiwa disediakan sebagai objek remoteConfig
yang ditransformasi.
Contoh:
{ "updateType": "FORCED_UPDATE", "updateOrigin": "CONSOLE", "versionNumber": 1 }
Kode sampel
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); }
Men-deploy fungsi Anda
Untuk men-deploy fungsi, Anda perlu menentukan jenis peristiwa google.firebase.remoteconfig.update
.
Perintah gcloud
berikut men-deploy fungsi yang dipicu oleh peristiwa Firebase Remote Config:
gcloud functions deploy FUNCTION_NAME \ --no-gen2 \ --entry-point ENTRY_POINT \ --trigger-event google.firebase.remoteconfig.update \ --runtime RUNTIME
Argumen | Deskripsi |
---|---|
FUNCTION_NAME |
Nama Cloud Run yang terdaftar yang sedang Anda deploy.
Ini dapat berupa nama fungsi dalam kode sumber Anda, atau string arbitrer. Jika FUNCTION_NAME adalah string arbitrer, Anda harus menyertakan flag --entry-point .
|
--entry-point ENTRY_POINT |
Nama fungsi atau class dalam kode sumber Anda. Opsional, kecuali jika Anda tidak menggunakan FUNCTION_NAME untuk menentukan fungsi dalam kode sumber yang akan dijalankan selama deployment. Dalam hal ini, Anda harus menggunakan --entry-point untuk memberikan nama fungsi yang dapat dieksekusi.
|
--trigger-event google.firebase.remoteconfig.update |
Picu fungsi setelah peristiwa update Firebase Remote Config. |
--runtime RUNTIME |
Nama runtime yang Anda gunakan. Untuk daftar lengkapnya, lihat referensi gcloud .
|