我正在使用Firebase存储通知所需的内容,以及Google Cloud Functions来发送通知。当用户决定转到某个应用时,他们会订阅该活动,以便他们可以收到聊天通知。
我的第一个问题是他们正在为每条消息收到单独的通知,我想这会在群聊中变得非常烦人。我尝试使用collapseKey,但我认为我使用它错误或误解其目的。它是否无效,因为通知已经发送?无论哪种方式,我该如何解决这个问题?
我的第二个问题是用户订阅了某个活动,但由于接收通知有时会有一点延迟,如果他们在发送通知之前退出应用,他们就会收到自己的消息通知。我该如何防止这种情况?
答案 0 :(得分:2)
对于你的第一个问题, 使用
待定意图标记
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 0 /* Request code */, intent,
PendingIntent.FLAG_UPDATE_CURRENT);
的更多信息
答案 1 :(得分:1)
我无法弄清楚PendingIntent解决方案,但这对我有用。
结果'collapseKey'用于设备处于非活动状态。您可以在手机运行时使用“标记”来替换旧通知。
const payload = {
notification:{
title: eventName,
body: message,
tag: 'chat',
sound: 'default'
},
};
对于第二部分,我刚刚结束切换到sendToDevice而不是sendToTopic。我不知道你一次可以把它发送给多个设备大声笑。只需注意,注册令牌数组不允许为空。