Firebase iOS FCM仅数据消息不调用消息:didReceiveMessage
Firebase消息传递版本Firebase iOS FCM仅数据消息不调用消息:didReceiveMessage,firebase,firebase-cloud-messaging,Firebase,Firebase Cloud Messaging,Firebase消息传递版本5.6.0。我正在尝试通过iOS 9.0上的Firebase消息传递(如果需要,可以使用10个),但它没有按照文档调用firmMessageDelegate的消息传递:didReceiveMessage。我在@code>firmMessage.m的appDidReceiveMessage:message中看到消息,但从未传递给学员 这是云函数的代码段,该函数通过以下方式向主题发送数据: 我错过什么了吗 更新:如果我实现application:didReceiveEmo
5.6.0
。我正在尝试通过iOS 9.0上的Firebase消息传递(如果需要,可以使用10个),但它没有按照文档调用firmMessageDelegate
的消息传递:didReceiveMessage
。我在@code>firmMessage.m的appDidReceiveMessage:message
中看到消息,但从未传递给学员
这是云函数的代码段,该函数通过以下方式向主题发送数据:
我错过什么了吗
更新:如果我实现application:didReceiveEmotentification:userInfo,我确实会收到数据
fetchCompletionHandler:completionHandler。感谢Firebase支持部门的Kat,以下是答案 使用传统的
sendToTopic
而不是send
,因为send
会悄悄地添加content\u available=1
,这会被视为APNs静默通知。以下是更新版本:
admin.messaging().sendToTopic('example', {
data: {
test: '123'
}
});
// Always use strings for key/values in the data object.
下面是来自Firebase支持的Kat的逐字记录:
如何处理将取决于您的设置
- 如果您有
,则该消息将通过APNs发送,并被视为类似的消息。当应用程序在前台或后台运行时(即未终止),这在content\u available=1
回调中。有关更多信息,请参阅应用程序:didReceiveMemotentification:
- 如果没有可用的内容,则通过FCM直接通道发送消息。当应用程序位于前台时,这仅在消息:didReceiveMessage:中处理
admin.messaging().sendToTopic('example', {
data: {
test: '123'
}
});
// Always use strings for key/values in the data object.