如何使用 Firebase 从 android 应用发送推送通知?
How to send push notifications FROM an android app with Firebase?
我想在我的应用程序中开发一项新功能,让我可以向所有安装了该应用程序的用户发送通知。我一直在搜索并找到有关如何将上游消息发送到 Firebase Cloud Messaging 的信息,但没有找到任何解释如何直接向其他用户发送通知的信息。
有办法做到这一点。您可以使用 Firebase 数据库、云消息传递和 Node.js 来实现这一点。您可以在这篇文章中找到如何做到这一点:https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html
但是如果您认为这太复杂了,您可以使用其他一些提供程序,例如 OneSignal
或 Back4app
,它们基于解析平台并且比上面的示例简单得多,并且还有一个免费平原。如何在 Back4app 中使用云代码设置通知看一下这个例子:
https://docs.back4app.com/docs/android/push-notification/push-cloud-code/
选项 1 - 直接从 Firebase 发送消息
如果您尝试使用 Firebase 向 Android 应用的所有用户发送消息,您应该查看有关如何 "Send Messages with the Firebase Console".
的文档
选项 2 - 从应用程序向服务发送消息;然后到 Firebase
如果您尝试从 Android 应用向 Firebase 发送消息,然后从 Firebase 向其他用户发送消息,您可能缺少 stack/infrastructure 的一个关键组件,即网络服务。该服务充当 Firebase 云消息传递和您的应用程序之间的中间人,有效地决定如何处理来自应用程序的消息,以及如何向 Firebase 发送命令,包括目标对象(哪些设备)。您可以选择此类服务:
- 一个应用程序服务器(在您最了解或最合适的任何环境中编写)
- 一些其他受信任的环境,例如 Cloud Functions for Firebase
查看有关与 Firebase Cloud Messaging Server 交互的文档以了解更多详细信息。
设置完成后,您的流程看起来更像这样:
Android 应用程序(消息发送方)-> 消息处理服务-> Firebase 云消息传递-> Android 应用程序(目标设备)
选项 3 - 使用上游消息
上游消息仍然使用单独的应用服务器来处理设备发送的消息。在这种情况下,应用程序通过 FCM 向服务发送上游消息,然后服务对该上游消息执行某些操作并将 ACK(确认)消息发回发送设备,因此它可以通过回调处理它。应用服务在处理上游消息时,可以命令 firebase 向目标设备发送推送通知。
总的来说,您可能还需要完成一些步骤。
您也可以直接在Firebase Cloud Messaging page or in the youtube video giving a general background to FCM上找到更多。
youtube 上还有一个使用 firebase 演示上游和下游消息的视频,名为 Upstream and Downstream messages using FCM - Android。
您可以将 POST 发送到 https://fcm.googleapis.com/fcm/send 并使用 服务器密钥 作为 授权。但是您需要知道收件人令牌或主题。
https://firebase.google.com/docs/cloud-messaging/http-server-ref
https://firebase.google.com/docs/cloud-messaging/auth-server#authorize-http-requests
我想在我的应用程序中开发一项新功能,让我可以向所有安装了该应用程序的用户发送通知。我一直在搜索并找到有关如何将上游消息发送到 Firebase Cloud Messaging 的信息,但没有找到任何解释如何直接向其他用户发送通知的信息。
有办法做到这一点。您可以使用 Firebase 数据库、云消息传递和 Node.js 来实现这一点。您可以在这篇文章中找到如何做到这一点:https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html
但是如果您认为这太复杂了,您可以使用其他一些提供程序,例如 OneSignal
或 Back4app
,它们基于解析平台并且比上面的示例简单得多,并且还有一个免费平原。如何在 Back4app 中使用云代码设置通知看一下这个例子:
https://docs.back4app.com/docs/android/push-notification/push-cloud-code/
选项 1 - 直接从 Firebase 发送消息
如果您尝试使用 Firebase 向 Android 应用的所有用户发送消息,您应该查看有关如何 "Send Messages with the Firebase Console".
的文档选项 2 - 从应用程序向服务发送消息;然后到 Firebase
如果您尝试从 Android 应用向 Firebase 发送消息,然后从 Firebase 向其他用户发送消息,您可能缺少 stack/infrastructure 的一个关键组件,即网络服务。该服务充当 Firebase 云消息传递和您的应用程序之间的中间人,有效地决定如何处理来自应用程序的消息,以及如何向 Firebase 发送命令,包括目标对象(哪些设备)。您可以选择此类服务:
- 一个应用程序服务器(在您最了解或最合适的任何环境中编写)
- 一些其他受信任的环境,例如 Cloud Functions for Firebase
查看有关与 Firebase Cloud Messaging Server 交互的文档以了解更多详细信息。
设置完成后,您的流程看起来更像这样:
Android 应用程序(消息发送方)-> 消息处理服务-> Firebase 云消息传递-> Android 应用程序(目标设备)
选项 3 - 使用上游消息
上游消息仍然使用单独的应用服务器来处理设备发送的消息。在这种情况下,应用程序通过 FCM 向服务发送上游消息,然后服务对该上游消息执行某些操作并将 ACK(确认)消息发回发送设备,因此它可以通过回调处理它。应用服务在处理上游消息时,可以命令 firebase 向目标设备发送推送通知。
总的来说,您可能还需要完成一些步骤。
您也可以直接在Firebase Cloud Messaging page or in the youtube video giving a general background to FCM上找到更多。
youtube 上还有一个使用 firebase 演示上游和下游消息的视频,名为 Upstream and Downstream messages using FCM - Android。
您可以将 POST 发送到 https://fcm.googleapis.com/fcm/send 并使用 服务器密钥 作为 授权。但是您需要知道收件人令牌或主题。
https://firebase.google.com/docs/cloud-messaging/http-server-ref https://firebase.google.com/docs/cloud-messaging/auth-server#authorize-http-requests