使用 Firebase 的 iOS 推送通知

Posted

技术标签:

【中文标题】使用 Firebase 的 iOS 推送通知【英文标题】:iOS Push notification using Firebase 【发布时间】:2018-04-17 07:42:19 【问题描述】:

我正在一个项目中工作,我需要显示 Firebase 触发的通知。 send and receive flow 一切正常。但是我需要在显示通知之前自定义通知,即当应用程序处于后台时。因为我从我们的服务器收到的消息已经是Base64 encoded。因此,通知会显示一个长字符串,我会让用户石化。 是否有任何委托或其他东西可以用来修改之前收到的数据 presenting app is in background

【问题讨论】:

【参考方案1】:

目前在 ios 中没有办法做到这一点。更多详情请参考这个答案How to change how a remote notification is presented before presentation?

【讨论】:

【参考方案2】:

您可以在项目中使用以下这些来处理任何数据。

仅适用于 iOS 10.2 或更高版本

UNNotificationServiceExtension

UNNotificationContentExtension

通过此链接 - https://medium.com/@prianka.kariat/ios-10-notifications-with-attachments-and-much-more-169a7405ddaf

由于时间有限,如果您需要更多解释,请告诉我。

调试也是一个棘手的部分。首先你要完成这个然后尝试通过 GO to DEBUG 进行调试 -> 通过 pid 附加到进程并粘贴你添加的扩展名。

【讨论】:

我们关心的是在应用进入前台之前处理DataNotification。因为我们收到的数据(如在 Chat 中)是 base64 编码的。我们需要在显示之前对其进行解码。

以上是关于使用 Firebase 的 iOS 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Firebase推送通知如何在IOS上运行?

使用 Firebase 的 iOS 推送通知

无法使用java在IOS中发送firebase推送通知

Firebase 推送通知如何在 IOS 上工作?

iOS Swift 使用 Firebase 云消息发送丰富的推送通知

iOS 推送通知中的多行标题