未接收从服务器发送的 iOS 通知
Posted
技术标签:
【中文标题】未接收从服务器发送的 iOS 通知【英文标题】:iOS Notifications are not receiving that are sent from the server 【发布时间】:2017-10-09 10:09:20 【问题描述】:首先可能是一个重复的问题,但出于好奇,我问了。
我有一个使用推送通知的应用程序,我已经准备好,为它创建了所有必需的东西,最后我检查了这个链接上的通知:https://pushtry.com/。一切都运作良好。现在的问题是,当管理员想要从他们的管理面板发送通知时,ios 设备中没有收到推送通知。
我已经更新了所有必要的证书、pem 文件、iOS 10 的方法等,但是我没有收到来自管理面板的通知,根据后端,当我们发送通知时它显示通知发送成功并且没有显示错误为了它。我不知道怎么回事。 任何建议....
【问题讨论】:
有些问题来自后端,所以请检查一个并按照此 URL 获取后端 gist.github.com/joashp/b2f6c7e24127f2798eb2 并与您的身边再次确认您是否在功能中启用了推送通知? 【参考方案1】:首先检查所有验证或验证,如证书、pem 文件和其他东西是否在 iOS 和后端更新。这将确保两端没有错误或故障。
现在在 iOS 中重新安装应用程序,从数据库中清除所有通知 id 或 apns 令牌表。在安装应用程序时,您会看到可用的 API 令牌很少。现在打开您的管理面板并再次测试,它会正常工作。
【讨论】:
【参考方案2】:首先,我想确认您用于应用程序开发人员或分发的证书。因为发送通知的方式不同(开发人员或分发)。就像我在后端使用 php 服务一样。当我使用开发人员证书时,我的后端开发人员使用了 'ssl://gateway.sandbox.push.apple.com:2195', $err, 当我使用分发证书时,他使用了 //'ssl://gateway.push.apple.com:2195', $err.
谢谢
【讨论】:
谢谢你的回复.....我正在使用开发阶段,并使用这个:'ssl://gateway.sandbox.push.apple.com:2195',我已经做了所有iOS 端的必要更新。 检查您来自后端的负载可能格式不正确! 您是否在应用处于后台模式时检查了此项? 不,我没有检查这种类型,我目前正在前台模式下测试以确保收到通知 你使用过这个代理吗? @available(iOS 10.0, *) func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) completionHandler([UNNotificationPresentationOptions.alert,UNNotificationPresentationOptions.sound,UNNotificationPresentationOptions.badge])以上是关于未接收从服务器发送的 iOS 通知的主要内容,如果未能解决你的问题,请参考以下文章
App Store Connect Sandbox 服务器到服务器通知未发送预期字段