Phi*_*oda 13 macos catalyst push-notification apple-push-notifications ios
我目前正在执行推送通知,从我们的后端服务器,以我们的应用程序(卡特琳娜的MacOS和iOS -相同的代码库),使用苹果推送通知和(生成从keyid的,teamId,智威汤逊认证的基于令牌的方式...&在签约使用在 Apple 开发者控制台中生成的私钥)向 APN 服务发送推送。
我面临的问题是我可以成功发送“警报”通知(状态 200,带有标题apns-push-type: alert)并在我的 iOS 和 MacOS 设备上接收它们(推送通知在生产和沙盒模式下成功出现)但由于某种原因,“无声" 推送(带有 header apns-push-type: background)仅在我的 iOS 设备(iPhone)上接收,而不在我的 Mac 上接收(didReceiveRemoteNotification(...)inAppDelegate从未被调用)。
到目前为止我做了什么:
apns-push-type: backgroundapns-topic: my.bundle.id这对于沙箱/生产是不同的)apns-priority: 5仅在提供后台推送时)authorization: mytoken必须如此,否则 APN 服务将不会以状态 200 响应)我正在执行发送推送的 APNs 请求是:
我在请求正文中发送到 APN 服务的负载 (JSON) 如下所示:
{
"aps": {
"content-available": 1 # defines push as "silent"
},
"data": { #some key-value pairs here }
}
Run Code Online (Sandbox Code Playgroud)
在任何情况下(生产和沙盒,都有 iOS 和 macOS 的设备令牌),我对 APN 的请求返回状态码 200。我的 MacBook 运行的是 Catalina 10.15.3。我在这里可能做错了什么,或者是 Catalyst 应用程序根本不支持的东西?
小智 2
哇,愚蠢的问题。我对 APNs 令人头疼的问题相当熟悉,但最新的文档中突然出现了一些问题:
\n\n\n\n\n此外,通知\xe2\x80\x99s POST 请求应包含值为background 的apns-push-type 标头字段和值为5 的apns-priority 字段。APNs 服务器需要\n n 向 Apple Watch 发送推送通知时的 apns-push-type 字段,\n 并建议所有平台使用它。有关详细信息,请参阅创建\n并向 APN 发送 POST 请求。
\n
优先级 5 的事情有什么区别吗?
\n\n另外,我通常尝试修复这些问题是在存档中进行测试,而不是在 Xcode 构建中进行测试。据我所知,产品推送服务器只能发送到 App Store、临时、企业或 testflight 构建,因此,如果您只是从 Xcode 构建,我认为您不会收到任何带有生产 apns 的推送通知。
\n| 归档时间: |
|
| 查看次数: |
951 次 |
| 最近记录: |