FCM:在哪里最好检索通知中显示的数据?
FCM: where best to retrieve data displayed in the notification?
我有一个应用程序,我在其中使用 Firebase Functions 设置了一些触发器。这些触发器将在它们关闭时向一组用户发送推送通知。通知将显示一些基于触发器的信息,这些触发器可能涉及根据 ID 从一个或多个集合中获取数据。
我现在看到两个选项:
- 我可以在触发器函数中检索将显示在服务器端通知中的数据,并将其发送到通知数据负载中,或者
- 我可以通过通知数据负载发送 ID,并在构建最终显示的通知之前在客户端的 onMessageReceived() 中检索显示的数据
一种选择比另一种更好吗?对于这两种选择,我应该考虑哪些因素?
提前感谢您的建议。
我认为第一个选项更有意义,因为服务器端功能完全能够自行执行完整的操作,并且可能会更高效。
更不用说,例如,如果您使用的是 Firestore,则每个通知只能读取一次,而不是使用第二个选项读取两次。
提倡第一种选择的最后一点要考虑的是,网络可能会在您的操作过程中发生故障,并且通知可能显示不完整,或者您必须处理它可能产生的任何错误在客户端,如果所有操作都在服务器端完成,您可以简单地不向用户发送 "error notification" 并重试该操作。
我有一个应用程序,我在其中使用 Firebase Functions 设置了一些触发器。这些触发器将在它们关闭时向一组用户发送推送通知。通知将显示一些基于触发器的信息,这些触发器可能涉及根据 ID 从一个或多个集合中获取数据。
我现在看到两个选项:
- 我可以在触发器函数中检索将显示在服务器端通知中的数据,并将其发送到通知数据负载中,或者
- 我可以通过通知数据负载发送 ID,并在构建最终显示的通知之前在客户端的 onMessageReceived() 中检索显示的数据
一种选择比另一种更好吗?对于这两种选择,我应该考虑哪些因素?
提前感谢您的建议。
我认为第一个选项更有意义,因为服务器端功能完全能够自行执行完整的操作,并且可能会更高效。
更不用说,例如,如果您使用的是 Firestore,则每个通知只能读取一次,而不是使用第二个选项读取两次。
提倡第一种选择的最后一点要考虑的是,网络可能会在您的操作过程中发生故障,并且通知可能显示不完整,或者您必须处理它可能产生的任何错误在客户端,如果所有操作都在服务器端完成,您可以简单地不向用户发送 "error notification" 并重试该操作。