【发布时间】:2019-06-17 23:35:45
【问题描述】:
我对 firebase-admin(和一般的 firebase)还很陌生。
我在 Firebase 上有一个名为 X 的项目,我在 prod 和 dev 中创建了 2 个 android 应用。
为了初始化我的 nodejs firebase-admin,我传递了从 firebase 控制台下载的 service-account.json。起初我以为每个应用程序都有一个,但似乎它是项目级别的。
我想使用messaging 功能发送推送通知,它工作正常,但我不确定我要发送它的环境(我不是 android 开发者,只是 nodejs)。
我的问题是,如何初始化 firebase-admin 使其指向 prod 或 dev ?我通常将 env 变量用于这类东西,但我不知道将什么传递给 initializeApp() 函数。
我已经尝试过https://firebase.google.com/docs/admin/setup#initialize_multiple_apps,但看不到在哪里可以指定dev 或prod 应用程序?
到目前为止我就是这样初始化它的:
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);
});
谢谢
【问题讨论】:
-
你在使用云功能吗?
-
到目前为止,我只使用
app.messaging().send -
是的,但问题更多,你的后端在哪里?在 Firestore 云功能上还是您使用任何其他实现?
-
如果您有不同的开发环境,您应该创建不同的项目并将应用程序分别添加到它们。他们几乎不适合共享同一个项目。如果你这样做了,那么你对于每个项目都有完全不同的凭据来初始化管理 SDK。
-
我正在使用自己的服务器在 NodeJS 中编码,并使用这个包npmjs.com/package/firebase-admin
标签: node.js firebase firebase-cloud-messaging firebase-admin