我正在使用FCM(Firebase云消息传递)向iOS应用发送“自定义”数据通知。据我所知,当您希望FCM代表您的应用程序处理通知时,我们使用通知消息来处理显示通知。当您只想在应用中处理消息时,我们使用数据消息。这是按设计来的。
我面临的问题是,设备/实例ID令牌是安装的应用程序而不是登录应用程序的用户唯一的。因此,为了解决这个问题,我将预期的用户标记发送到数据中,以使它成为数据消息。由于应用程序处理数据通知,因此当应用程序打开并且只有在通知被显示时才会触发didReceiveRemoteNotification()回调。
我的问题是,我是否可以发送自定义数据通知消息,并使它立即出现,即使应用程序已关闭。
这是我发送到FCM的有效载荷:
{
registeration_ids : [<id_1>, <id_2>],
data : {
title : message_title,
body : message_body,
intended_user : message_user
}
}
在Android中,即使应用程序处于后台,也会调用FirebaseMessagingService.onMessageReceived()
,但在iOS中,只有在应用程序启动时才会调用didReceiveRemoteNotification()
,因此如果您发送数据消息,则不会显示后台消息。