如何使用Firebase从Android应用程序发送推送通知?

5

我希望在我的应用中开发一个新功能,让我能够向所有已安装该应用的用户发送通知。我一直在搜索如何向Firebase Cloud Messaging发送上行消息的信息,但没有找到任何关于直接向其他用户发送通知的说明。


1
相关链接:https://dev59.com/0VoU5IYBdhLWcg3wc2xW - Bob Snyder
关于Bob的链接,解决方案是使用Firebase云函数。 - Shmuel
3个回答

2
有一种方法可以做到这一点。您可以使用Firebase数据库、云消息传递和Node.js来实现。您可以在这篇文章中找到如何操作:https://firebase.googleblog.com/2016/08/sending-notifications-between-android.html
但是,如果您认为这太过复杂,您可以使用其他提供程序,例如OneSignalBack4app,它们基于解析平台,比上面的示例要简单得多,并且还有免费套餐。如何使用Back4app中的Cloud代码设置通知,请查看此示例:https://docs.back4app.com/docs/android/push-notification/push-cloud-code/

1

选项1 - 直接从Firebase发送消息

如果您想使用Firebase向您的Android应用程序的所有用户发送消息,则应查看有关如何"使用Firebase控制台发送消息"的文档。

选项2 - 从应用程序向服务发送消息;然后到Firebase

如果您想从Android应用程序向Firebase发送消息,然后从Firebase向其他用户发送消息,则可能缺少堆栈/基础架构的关键组件:Web服务。该服务充当Firebase云消息传递和您的应用程序之间的中间人,有效地决定如何处理来自应用程序的消息以及如何向Firebase发送命令,包括要针对哪些设备进行目标设置。您可以选择以下这种类型的服务:

  • 应用服务器(编写在您最熟悉或最合适的任何环境中)
  • 其他可信环境,例如Firebase云功能
请查看与 Firebase Cloud Messaging Server交互的文档,以了解更多详细信息。
一旦您完成设置,您的流程看起来更像这样:
Android应用程序(消息发送者)->消息处理服务->Firebase Cloud Messaging->Android应用程序(目标设备)
选项3-使用上行消息:
上行消息仍然使用单独的应用程序服务器来处理设备发送的消息。在这种情况下,应用程序通过FCM向服务发送上行消息,然后服务执行某些操作并将ACK(确认)消息发送回发送设备,以便可以使用回调函数处理它。当处理上行消息时,应用程序服务可以命令firebase向目标设备发送推送通知。
总体而言,您可能还需要完成一些步骤。
你还可以直接在Firebase云消息传递页面YouTube视频中了解FCM的一般背景。此外,还有一段名为“使用FCM上行和下行消息进行演示”的YouTube视频来展示Firebase上行和下行消息的使用。

-1

我在安全方面看到一个很大的问题:这将意味着所有使用Android应用程序的用户都可以访问我的服务器密钥,这个密钥本来是保密的。 - Alejandro Bertinelli
@AlejandroBertinelli 我猜你可以对其进行编码以保密。如果我们谈论架构,这不是最佳实践,但问题是“如何...”。 - ForegroundGravity

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接