服务器上的 Firebase RemoteConfig

问题描述 投票:0回答:2

我有一个在服务器端呈现 HTML 的 Node.js Web 应用程序。

如何从 Firebase 远程配置服务器端访问用户的值,以便启用或禁用功能?

客户端这将是 getValue

我假设我可以使用 REST API 来实现此目的,但记录的端点似乎只显示整体配置模板,而不是 getValue 客户端返回的内容。

我可以看到客户端 SDK 似乎正在向

发送 POST

https://firebaseremoteconfig.googleapis.com/v1/projects/<projectid>/namespaces/firebase:fetch

...但据我所知,这是一个未记录的 API。

node.js firebase rest firebase-remote-config
2个回答
0
投票

RemoteConfig 的工作原理如下:

  1. 像我们一样的开发人员,在控制台中或通过 API 调用创建/更新我们的 RC 模板,定义 RC 在每种不同条件下应返回的内容,例如用户语言或国家/地区。
  2. 我们的客户使用他们的项目编号和特定信号(例如他们的语言或国家/地区)对 RC 服务器进行提取调用。
  3. 然后 RC 后端将根据 RC 模板评估客户的信号,然后决定返回什么

基于此,我们可以简单地对 RC 进行 REST 调用,它就会响应 proto 中的数据。然后我们可以通过名称提取我们感兴趣的参数。然后将原始字符串数据转换为其特定类型。


0
投票

您可以在此处找到有关如何在服务器上设置 Firebase 远程配置的说明:https://firebase.google.com/docs/remote-config/server

初始化RC:

import { initializeApp } from "firebase-admin/app";
import { getRemoteConfig } from "firebase-admin/remote-config";

// Initialize Firebase
const firebaseApp = initializeApp();

加载模板:

// Initialize server-side Remote Config
const rc = getRemoteConfig(firebaseApp);
const template = rc.initServerTemplate();

// Load Remote Config
await template.load();

可选择设置默认值:

const template = rc.initServerTemplate({
  defaultConfig: {
    model_name: "gemini-pro",
    generation_config: '{"stopSequences": [], "temperature": 0.7, "maxOutputTokens": 512, "topP": 0.1, "topK": 20}',
    preamble_prompt: "I'm a developer who wants to learn about Firebase and you are a helpful assistant who knows everything there is to know about Firebase!"
  },
});

// Load Remote Config
await template.load();

评估模板:

// Add template parameters to config
const config = template.evaluate();

获取值:

const is_ai_enabled = config.getBool('is_ai_enabled');
© www.soinside.com 2019 - 2024. All rights reserved.