我 运行 在 c# 或 google 云平台中运行吗?
Do i run functions in c# or google cloud platform?
我希望在我的 firebase 实时数据库发生变化时向用户发送通知。我已经在我的 Xamarin.Android 应用程序中设置了 FCM。我对 Firebase 还很陌生,所以我对数据库触发器的工作方式有点困惑。 (https://firebase.google.com/docs/functions/database-events)
我很困惑这个功能,即“OnCreate”或“OnWrite”是写在 Google Cloud Platform 上还是我的 C# 代码上?
换句话说,我是:
- 在 TypeScript 中编写代码以检测我的数据库中的更改,然后通过 FCM 推送通知,或者
- 用 C# 编写代码来检测变化,如下所示:How to get notification in xamarin forms on firebase data change?
谢谢。
要通过 FCM 将消息发送到 设备,您必须在代码中指定 FCM server* 键。顾名思义,此密钥只能在服务器端代码或其他受信任的环境中使用。这样做的原因是任何拥有 FCM 服务器密钥的人都可以向您的所有用户发送他们想要的任何消息。如果您将此密钥包含在您的客户端 C# 代码中,则恶意用户可以找到它并且您会将您的用户置于危险之中。
Cloud Functions 允许您在 Google Cloud 服务器上 运行 一小段 Node.js 代码,运行 响应您的 Cloud/Firebase 项目中的事件,例如将文档写入 Cloud Firestore 时。此代码 运行 在 Google 的服务器上,因此是调用 FCM API 发送通知的最佳位置。
这也是为什么您会看到许多这种方法的示例的原因。但是,如果您已经有另一个服务器端平台,也可以调用 FCM API 从那里发送通知。
我希望在我的 firebase 实时数据库发生变化时向用户发送通知。我已经在我的 Xamarin.Android 应用程序中设置了 FCM。我对 Firebase 还很陌生,所以我对数据库触发器的工作方式有点困惑。 (https://firebase.google.com/docs/functions/database-events)
我很困惑这个功能,即“OnCreate”或“OnWrite”是写在 Google Cloud Platform 上还是我的 C# 代码上?
换句话说,我是:
- 在 TypeScript 中编写代码以检测我的数据库中的更改,然后通过 FCM 推送通知,或者
- 用 C# 编写代码来检测变化,如下所示:How to get notification in xamarin forms on firebase data change?
谢谢。
要通过 FCM 将消息发送到 设备,您必须在代码中指定 FCM server* 键。顾名思义,此密钥只能在服务器端代码或其他受信任的环境中使用。这样做的原因是任何拥有 FCM 服务器密钥的人都可以向您的所有用户发送他们想要的任何消息。如果您将此密钥包含在您的客户端 C# 代码中,则恶意用户可以找到它并且您会将您的用户置于危险之中。
Cloud Functions 允许您在 Google Cloud 服务器上 运行 一小段 Node.js 代码,运行 响应您的 Cloud/Firebase 项目中的事件,例如将文档写入 Cloud Firestore 时。此代码 运行 在 Google 的服务器上,因此是调用 FCM API 发送通知的最佳位置。
这也是为什么您会看到许多这种方法的示例的原因。但是,如果您已经有另一个服务器端平台,也可以调用 FCM API 从那里发送通知。