发送推送后取消注册设备
Devices being unregistered after push is sent
这听起来可能很奇怪,但我看不出任何其他解释。
我已经在 Bluemix 上设置了 IBM Push Notifications,这是我之前完成的。出于某种原因,在我构建的这个新应用程序上。每当我发送推送通知时,它都没有通过,我再次尝试这样做,它告诉我没有设备。
我今天才遇到这种情况,可能是服务问题?
我尝试/注意到的一些事情:
- 我的设备正在注册并通过控制台接收来自服务的成功消息。
- 我只有 1 台设备,但监控现在告诉我有 7 台设备已注册通知。
- 当使用 web 控制台发送推送通知时,第一次显示成功(但没有通过),再次单击显示
Internal Server error: No devices found
。
- 使用 swagger 文档,我输入我的 appID 并搜索设备,none 出现了。我 运行 这个应用程序,一个出现了,我把这个应用程序放在后台,一个仍然出现。我通过 swagger 发送通知,说成功,检查注册设备,returns 空数组。
- 我的 iOS 应用程序中的代码仅限于为
IMFPush
/ IMFCore
cocoapods 提供的示例,用于注册。我没有任何类型的退订代码。
- 我已经在没有 运行 任何 node.js 代码或 iOS 代码的情况下仅使用 swagger / web 控制台工具验证了这一点。
- 我正在使用之前用于其他应用程序的沙盒配置文件。
- 我删除了 IMF 推送服务并重新创建。
任何帮助/见解将不胜感激。
@Simon 请重新下载推送沙箱证书并将其从钥匙串导出为 .p12。这似乎已经解决了问题。虽然一个错误的私钥给你 "Invalid Token" 似乎很奇怪。因此,当您尝试向无效令牌设备发送通知时,苹果服务器正在删除这些设备。请确保您按照正确的步骤生成沙盒或生产证书 https://console.ng.bluemix.net/docs/services/mobilepush/t_push_provider_ios.html
@SimonMcLoughlin 找到了这个问题的根本原因,这是因为私钥错误。要解决此问题,只需使用 .pem 生成一个 .p12 证书。要使用 .pem 文件创建 p12 文件,请按照以下方法
这听起来可能很奇怪,但我看不出任何其他解释。
我已经在 Bluemix 上设置了 IBM Push Notifications,这是我之前完成的。出于某种原因,在我构建的这个新应用程序上。每当我发送推送通知时,它都没有通过,我再次尝试这样做,它告诉我没有设备。
我今天才遇到这种情况,可能是服务问题?
我尝试/注意到的一些事情:
- 我的设备正在注册并通过控制台接收来自服务的成功消息。
- 我只有 1 台设备,但监控现在告诉我有 7 台设备已注册通知。
- 当使用 web 控制台发送推送通知时,第一次显示成功(但没有通过),再次单击显示
Internal Server error: No devices found
。 - 使用 swagger 文档,我输入我的 appID 并搜索设备,none 出现了。我 运行 这个应用程序,一个出现了,我把这个应用程序放在后台,一个仍然出现。我通过 swagger 发送通知,说成功,检查注册设备,returns 空数组。
- 我的 iOS 应用程序中的代码仅限于为
IMFPush
/IMFCore
cocoapods 提供的示例,用于注册。我没有任何类型的退订代码。 - 我已经在没有 运行 任何 node.js 代码或 iOS 代码的情况下仅使用 swagger / web 控制台工具验证了这一点。
- 我正在使用之前用于其他应用程序的沙盒配置文件。
- 我删除了 IMF 推送服务并重新创建。
任何帮助/见解将不胜感激。
@Simon 请重新下载推送沙箱证书并将其从钥匙串导出为 .p12。这似乎已经解决了问题。虽然一个错误的私钥给你 "Invalid Token" 似乎很奇怪。因此,当您尝试向无效令牌设备发送通知时,苹果服务器正在删除这些设备。请确保您按照正确的步骤生成沙盒或生产证书 https://console.ng.bluemix.net/docs/services/mobilepush/t_push_provider_ios.html
@SimonMcLoughlin 找到了这个问题的根本原因,这是因为私钥错误。要解决此问题,只需使用 .pem 生成一个 .p12 证书。要使用 .pem 文件创建 p12 文件,请按照以下方法