[英]Ionic Push Notification: Not receiving in IOS
情况:
我在我的应用程序中使用离子推送通知。
使用 android 一切正常。 但是使用 IOS 我没有收到任何通知。
代码应该没问题。 令牌的注册也可以在 IOS 设备内部正常工作。 我可以在数据库中看到令牌。
此外,cURL 请求代码应该没问题,因为它适用于 android。
我将在下面粘贴所有可能有用的信息:
编码:
初始化:
$ionicCloudProvider.init({
"core":
{
"app_id": "MY_APP_ID"
},
"push":
{
"sender_id": "MY_SENDER_ID",
"pluginConfig": {
"ios": {
"badge": true,
"sound": true
}
}
}
});
io-config.json:
{"app_id":"MY_APP_ID","api_key":"MY_API_KEY","dev_push":false,"gcm_key":"MY_GCM_KEY"}
证书:
在 ionic.io 中,我设置了证书 - 生产模式 - 并激活所有凭据:
在 Apple Developer Console 中,推送通知服务已正确启用(用于生产)
测试:
该应用程序已在应用程序商店中发布。
无论如何,我通过 XCODE(连接到它的设备)在本地进行了测试,并直接从应用商店下载了应用程序。
我从未收到任何通知。
使用 POSTMAN 进行测试,结果如下:
{
"data": {
"status": "open",
"uuid": "b55a9024-d0d9-480e-a813-02053bcf2f2a",
"created": "2016-09-19T14:05:01.097422+00:00",
"state": "enqueued",
"app_id": "MY_APP_ID",
"config": {
"tokens": [
"THE_RECEIVER_TOKEN"
],
"notification": {
"message": "Push test"
},
"profile": "MY_IONIC_IO_PROFILE"
}
},
"meta": {
"status": 201,
"request_id": "dbb57cba-3817-42ee-baaf-7175b5f6c755",
"version": "2.0.0-beta.0"
}
}
问题:
为什么我在 IOS 上没有收到任何通知?
我错过了什么吗?
谢谢!
关于优先级和 content_available 属性的文档
从文档:
在 iOS 上,当应用服务器需要发送 Send-to-Sync 消息时设置 content_available。 不活动的客户端应用程序将在后台执行您的逻辑,而前台的应用程序会将消息传递给 didReceiveRemoteNotification:。
确保您拥有最新版本的 Ionic i,e v2 及更高版本。
在路径 src/app/app.components.ts
在platform.ready().then(() => {
添加下面的代码
var push = Push.init({ android: { senderID: "XXXXXXXXX" }, ios: { alert: "true", badge: true, sound: 'false' }, windows: {} }); push.on('registration', (data) => { console.log(data.registrationId); alert(data.registrationId.toString()); }); push.on('notification', (data) => { console.log(data); });
构建后(ionic build ios)在Xcode中打开ionic项目,一般和团队部分选择一个已经支付了苹果开发者账号的账号。
然后在功能中启用推送通知。
如果所有其他约束(如证书和 .p12 文件)都按照苹果行会行完成,那么推送肯定会起作用。
有关更多信息,请访问此链接: http : //ionicframework.com/docs/v2/native/push/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.