离子ios推送不发送请求

时间:2016-03-20 22:47:19

标签: push-notification ionic-framework

大家好,我正在研究离子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 

2 个答案:

答案 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中。