我正在使用 FCM 检测卸载。如果我在发送通知时收到 myGroup[2].remove();
myGroup.add(canvas.path('M 100 200 l 30 35').attr({stroke: '#050'}));
,则认为该应用已被卸载。
在 Android 上一切正常,而在 IOS 上我总是收到 NotRegistered token
响应,即使应用程序已卸载数天。
我知道 read 可以使用 success
检测卸载,其中 Apple 报告任何非活动令牌。
我还在 Firebase 官方 documentation 上读到:
<块引用>content_available - 在 iOS 上,使用此字段表示 APNs 负载中的内容可用。当发送通知或消息并将此设置为 true 时,会唤醒不活动的客户端应用,并且消息通过 APNs 作为静默通知而不是通过 FCM 连接服务器发送。
为了通过 APN 发送通知,我尝试使用 APNs feedback Service
发送推送通知,但我无法在 IOS 上重现 content_available: true
错误。它仍然返回 NotRegistered token
消息。
我正在使用 success
发送通知。我的有效载荷:
sendMulticast
我也无法通过 HTTP 请求重现 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
}
响应:
NotRegistered token
1.如何使用 FCM 检测 IOS 卸载?
2. 如果不可能,我如何检测 IOS 上的卸载?
答案 0 :(得分:0)
好吧,这取决于您的需求。您的问题的答案是无声推送不是正常推送。
后台通知是一种远程通知,不会显示警报、播放声音或标记应用图标。它会在后台唤醒您的应用程序,并让它有时间从您的服务器开始下载并更新其内容。 Apple Document
重要
<块引用>系统将后台通知视为低优先级:您可以使用它们来刷新应用的内容,但系统不保证它们的交付。此外,如果总数过多,系统可能会限制后台通知的传递。系统允许的后台通知数量取决于当前情况,但不要尝试每小时发送超过两个或三个。
当设备处于“低”状态时,静音推送通知将不起作用 数据模式“.
静默推送通知负载示例。
{
"aps" : {
"content-available" : 1
},
"acme1" : "bar",
"acme2" : 42
}
您必须在有效载荷中使用 "content-available" : 1 以实现静默推送。
另一方面,如果您的客户端运行 iOS 12.3 或更高版本Deletions metric