【发布时间】:2015-10-01 01:23:02
【问题描述】:
我使用 Ionic 和 ios 成功设置了推送通知。但我希望人们点击通知并进入动态传递状态。而且我不知道该怎么做...... 我正在使用节点服务器。首先,我的状态升级如下:
.state('app.task', {
url: "/task/:taskId",
cache: false,
views: {
'menuContent': {
templateUrl: "js/tasks/task-detail.html",
controller: "browseCtrl",
}
},
}
})
在我的节点服务器中,我按照此处所述传递有效负载:Ionic.io Push FAQ
var payload = {"$state":"app.task", "$stateParams": "{\"taskId\": \""+ message.relatedTask +"\"}"};
request({
url: "https://push.ionic.io/api/v1/push",
method: "POST",
json: true,
body: {
"tokens": [token],
"notification": {
"alert": message.message,
"ios": {
"badge":1,
"payload": payload
},
"android": {
"payload": payload
}
}
},
headers: {
'Authorization': 'Basic ' + btoa(IONIC_PRIVATE_API_KEY + ":"),
'X-Ionic-Application-Id': IONIC_APP_ID
}
}, function (error, response, body) {
console.log(body);
})
当它点击通知时,它不会进入状态(只是把我带回应用程序)。 message.relatedTask 记录为当前任务 ID。正如我从 XCode 控制台看到的那样,它记录了以下内容:
2015-09-30 18:12:16.488 VideoHappy[1236:403171] Msg: {"$state":"app.task","$stateParams":"{\"taskId\": \"-JzvWR67jIqyfc9JhDMb\"}","$state":"app.task","$stateParams":"{\"taskId\": \"-JzvWR67jIqyfc9JhDMb\"}","badge":"1","body":"Test Title",foreground:"0"}2015-09-30 18:12:16.600 VideoHappy[1236:403171] $ionicPush:RECEIVED {"$state":"app.task","$stateParams":"{\"taskId\": \" -JzvWR67jIqyfc9JhDMb\"}","badge":"1","body":"测试标题","foreground":"0"}
我做错了什么?
【问题讨论】:
-
对不起。我收回我所说的话并删除我的评论。感谢您的帮助!
标签: node.js push-notification ionic-framework ionic