Firebase管理员可以处理多种环境

时间:2019-06-17 23:35:45

标签: node.js firebase firebase-cloud-messaging firebase-admin

我对firebase-admin(和一般的firebase)很陌生。

我在Firebase上有一个名为X的项目,并且在proddev内创建了2个android应用。

要初始化我的nodejs firebase-admin,我将传递从firebase控制台下载的service-account.json。起初,我以为每个应用程序都会有一个,但是看来这是项目级别的。

我想使用messaging功能发送推送通知,它可以正常工作,但是我不确定要在什么环境下发送它(我不是android开发人员,只是nodejs)。

我的问题是,如何初始化firebase-admin,使其指向proddev?我通常将env变量用于此类操作,但我不知道将什么传递给initializeApp()函数。

我尝试过https://firebase.google.com/docs/admin/setup#initialize_multiple_apps,但看不到可以在哪里指定devprod应用程序?

到目前为止,这就是我初始化的方式:

const app = firebaseAdmin.initializeApp({
    credential: firebaseAdmin.credential.applicationDefault()
});

...

app.messaging().send(message)
 .then((response) => {
     // Response is a message ID string.
     console.log('Successfully sent message:', response);
 })
 .catch((error) => {
     console.log('Error sending message:', error);
 });

谢谢

1 个答案:

答案 0 :(得分:1)

您将需要为每个使用的环境创建一个项目,这是常见的做法。

根据使用情况,您可能会选择不同的定价计划。

为每个密钥导出sdk密钥,您可以根据环境变量或任何其他可能对您有用的技术进行实例化。