Firebase推送通知在iOS 13上不起作用,但在iOS 12.4中可以正常工作。有解决办法吗?
编辑:19.0.10.1
静音推送通知无法在iOS 13上运行
答案 0 :(得分:8)
快速修复解决方案:
如果您遇到在iOS 13.2.X版上接收推送通知的问题,请执行以下更改设备设置并再次检查:
设备>设置>搜索您的AppName>通知> 横幅样式> ,将其从“临时”更改为“持久” ,反之亦然。
>现在再次发送推送通知并开始接收。
答案 1 :(得分:1)
可能与推送令牌从Data
对象中拉出的方式有关。我对Firebase推送通知不是很熟悉,但是如果您必须将推送令牌传递给Firebase,则可能需要更改获取令牌的方式。如果Firebase拥有可处理此问题的SDK,则可能需要对其进行更新。
OneSignal讨论更改here。
答案 2 :(得分:0)
{
"topic": "topic_test",
"message": {
"data": {
"key": "some_value"
},
"notification": {
"body": "description ~",
"title": "title !"
}
},
"options": {
"mutableContent": true,
"contentAvailable": true,
"apnsPushType": "background"
}
}
答案 3 :(得分:0)
在iOS 13之前,我有一个没有收到推送通知的问题,因为我没有在XCode-签名和功能->后台模式->后台获取中选择。选择之后,一切正常。 在iOS 13之后,我遇到了不再接收推送通知的相同问题。今天,我看到在XCode中,再次取消了“后台提取”选项。也许在更新XCode之后发生了什么?
我还没有测试。检查这是否是适合您的解决方案。
答案 4 :(得分:0)
如果委托didRegisterForRemoteNotificationsWithDeviceToken
触发失败,请尝试更改网络。我将其更改为蜂窝数据并重新开始工作
答案 5 :(得分:0)
希望您添加通知委托和其他方法
首先,您可以使用下面的链接尝试邮递员
https://fcm.googleapis.com/fcm/send
在邮递员标题中 1)。授权= key =“添加Firebase服务器密钥” 2)。内容类型= application / json
在邮递员身体中作为行
{ “至”:“ 您的iPhone设备FCM音调”, “通知”:{ “ body”:“您的通知的主体”, “ title”:“您的通知标题”, “ sound”:“默认”, “ alert”:“ New” }, “ priority”:“ high”, “ contentAvailable”:是的, “数据”:{ “ body”:“数据中的通知主体”, “ title”:“标题中的通知标题”, “ key_1”:“ key_1的值”, “ key_2”:“ key_2的值”, } }
首先尝试将邮递员与上述示例结合使用,然后在iOS 13中签入
答案 6 :(得分:0)
也许是iOS13错误或更新的模式, 这将适用于iOS12和iOS13
{
"to":"",
"priority":"high",
"content_available":true,
"data":{
"abc":"abc"
},
"notification":{
"body":"abc"
}
}
Or
{
"to":"",
"priority":"high",
"content_available":true,
"data":{
"abc":"abc"
}
}
答案 7 :(得分:0)
更新我的Pod之后,我遇到了同样的问题。从6.18.0版开始:
不建议使用的通过FCM直接通道消息传递,通过should EstablishmentDirectChannel。而是使用APN进行下游消息传递。如果要继续使用旧版API,请向您的有效负载中添加content_available密钥,但是我们强烈建议您使用HTTP v1 API,因为它提供了完整的APN支持。已弃用的API将在Firebase 7(#4710)中删除。“ Release notes。
在我的AppDelegate中,我注释掉了两行代码:
background-image: url("exampleimage.webp"); /* Firefox */
background-image: -webkit-image-set(
url("exampleimage.webp") 1x,
url("exampleimage@1-5x.webp") 1.5x,
url("exampleimage@2x.webp") 2x
);
background-image: image-set(
url("exampleimage.jpg") 1x,
url("exampleimage@1-5x.jpg") 1.5x,
url("exampleimage@2x.jpg") 2x
) /* Safari */
当我使用设备令牌发送通知到我的设备时,一切似乎都正常。但是,将更新上传到App Store后,我看到了
0%的潜在用户有资格参加此广告系列:0
我从Firebase重新下载了GoogleService-Info.plist,并将其与xcworkspace中已经存在的内容进行了比较。 GOOGLE_APP_ID已更改。因此,替换.plist可以修复它。我不确定为什么.plist中的信息会更改。希望这可以帮助。
ps-当前Pod为6.23.0