如何在IOS上使用FCM检测卸载? TL;博士
我正在使用FCM检测卸载。如果我在发送通知时收到如何在IOS上使用FCM检测卸载? TL;博士,ios,node.js,firebase-cloud-messaging,apple-push-notifications,Ios,Node.js,Firebase Cloud Messaging,Apple Push Notifications,我正在使用FCM检测卸载。如果我在发送通知时收到notregisted令牌,我假设应用程序已卸载 安卓的一切都很好,而在IOS上,我总是得到成功的响应,即使应用已经卸载了好几天 更多信息 我知道,可以使用APNs反馈服务检测卸载,苹果会报告任何不活动的代币 我还在Firebase官方网站上读到: 内容可用-在iOS上,使用此字段表示APNs有效负载中可用的内容。当发送通知或消息并将其设置为true时,将唤醒非活动客户端应用程序,消息将通过APN作为静默通知发送,而不是通过FCM连接服务器发送 为
notregisted令牌
,我假设应用程序已卸载
安卓的一切都很好,而在IOS上,我总是得到成功
的响应,即使应用已经卸载了好几天
更多信息
我知道,可以使用APNs反馈服务检测卸载,苹果会报告任何不活动的代币
我还在Firebase官方网站上读到:
内容可用-在iOS上,使用此字段表示APNs有效负载中可用的内容。当发送通知或消息并将其设置为true时,将唤醒非活动客户端应用程序,消息将通过APN作为静默通知发送,而不是通过FCM连接服务器发送
为了通过APN发送通知,我尝试使用content\u available:true
发送推送通知,但我无法在IOS上重现NotRegistered token
错误。它仍然返回一条success
消息
我正在使用sendMulticast
发送通知。我的有效载荷:
const payload = {
notification: {
title: text,
},
android: {
priority: "high",
ttl: 60 * 60 * 1,
collapseKey: "yo",
notification: {
channel_id: 'YO',
tag: userDoc.id,
},
},
apns: {
payload: {
aps: {
sound: "reminder.caf",
"content-available": 1,
}
},
headers: {
"apns-collapse-id": "yo",
"apns-priority": "10"
}
},
priority: 10
}
我也无法通过HTTP请求复制NotRegistered token
响应:
curl -X POST \
https://fcm.googleapis.com/fcm/send \
-H 'authorization: key=server_key_here' \
-H 'content-type: application/json' \
-d '{
"to": "fcm_token_here",
"priority": "high",
"content_available": true,
"notification": {
"empty": "body"
},
"data": {
"key1": ""
}
}'
底线
1。如何使用FCM检测IOS卸载?2.如果不可能,我如何在IOS上检测卸载?好吧,这取决于您的需求。您的问题的答案是轻微推压不是正常推压 后台通知是一种远程通知,不会显示警报、播放声音或标记应用程序图标。它会在后台唤醒你的应用程序,让它有时间从你的服务器开始下载并更新其内容
重要 系统将后台通知视为低优先级:您可以使用它们刷新应用程序的内容,但系统不能保证它们的传递。此外,如果总数过多,系统可能会限制后台通知的传递。系统允许的后台通知数量取决于当前情况,但不要尝试每小时发送超过两到三次 当设备处于“低”状态时,静默推送通知将不起作用 数据模式” Slient推送通知负载示例
{
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
您必须在有效负载中使用“内容可用”:1进行静默推送
另一方面,如果您的客户端运行的是iOS 12.3或更高版本Gursrs,感谢您的回复。我在问题中已经提到了可用的
内容
后台消息。问题是我无法在卸载的应用程序上重现NotRegistered
响应。您知道为什么会发生这种情况吗?您曾经收到过notRegis吗是否通过IOS设备使用FCM进行响应?