首页 文章

iOS上的Firebase Cloud 消息传递:改善前台通知的消息延迟

提问于
浏览
0

发送同时设置了 datanotification 有效负载的消息时,它们会在应用程序处于后台时照常显示 . 但是,当应用程序处于前台时,会收到它们

UNUserNotificationCenterDelegate userNotificationCenter:willPresentNotification:withCompletionHandler:

到目前为止,此工作正常,但发送和接收前台消息之间的延迟远远高于我们在Android应用程序(也使用Firebase)上观察到的延迟 . 原因似乎是这些通知始终通过APNS而不是持久的Firebase连接发送 .

当应用程序处于前台时,如何强制Firebase通过自己的连接而不是APNS发送包含 datanotification 有效负载的消息?

因此,基本上我希望它们在应用程序处于前台时表现得像纯数据消息(在 IRMessagingDelegate applicationReceivedRemoteMessage: 中接收),如果不是,则仍然能够显示通知 .

1 回答

  • 0

    不幸的是,您可以't. If there'附加到消息的 notification 元素,FCM将始终通过APN发送 .

    您唯一的选择可能是发送两条消息 - 一条仅数据消息(当您的应用位于前台时将通过FCM发送)和一条通知消息(将通过APN发送),并让您的应用处理案例如果它在前台运行,它接收这两个消息 .

相关问题