大家好,我正在研究离子ios推送通知,并且最后我试图在我的设备中测试通知。
我已按照离子文档中显示的每个步骤进行ios的完整推送设置。就像添加插件一样,创建证书并在ionic io app设置中上传.p12文件并创建配置文件。构建也成功在xcode和开发通知中显示警报消息也正常工作。
问题是默认情况下是个人资料" fake_profile_push"我试图用我名为" push_profile"的离子io应用程序设置中的那个替换。我确保配置dev推向假。
所以我在这里试图从终端发送这个curl命令 我从离子io复制了auth代码,从控制台日志中获取了profile和令牌。
curl -X POST -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5NTk5MGFiZi04ZTljLTQ5YjktOTc1Yy0zMDA1OGI3ZThiY2UifQ.KubeC0N764OWE_SZDxJRdY6ie266CVvLX8OwNnm6rr8" -H "Content-Type: application/json" -d '{
"tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7],
"profile": “push_profile”,
"notification": {
"message": "Hello!"
}
}' "https://api.ionic.io/push/notifications"
它返回了我不理解的json错误
{"error": {"link": null, "type": "UnprocessableEntity", "message": "Invalid JSON in request body. For empty JSON, pass '{}'."}, "meta": {"status": 422, "version": "2.0.0-beta.0", "request_id": "7dec664f-ae0b-4a8a-807b-edee70b4a1e5"}}
我在请求正文中没有看到任何错误。我究竟做错了什么?你能纠正我吗?谢谢
Your system information:
Cordova CLI: 6.0.0
Gulp version: CLI version 3.9.1
Gulp local:
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
ios-deploy version: Not installed
ios-sim version: 5.0.6
OS: Mac OS X El Capitan
Node Version: v5.9.0
Xcode version: Xcode 7.2.1 Build version 7C1002
答案 0 :(得分:1)
"tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7],
应该是:
"tokens": ["DEV-8180d41f-adc0-4b11-b0cc-7fa6370adad7"],
我猜这导致了json错误
答案 1 :(得分:0)
您可以检查推送状态,向以下端点发出GET请求:https://api.ionic.io/push/notifications/<your-notification-uuid>/messages
我认为问题出在你的标题中。证明Authorization: Bearer
是否正确。您可以测试您的令牌:curl -H "Authorization: Bearer [YOUR_TOKEN]" https://api.ionic.io/auth/test
另外,请尝试从请求中删除-H "Content-Type: application/json"
,因为错误说明问题出在json中。