我正在尝试将Safari Push Notifications与Windows Azure后端一起使用。我已经成功将
为了处理Web服务端点(
但是我无法发送推送通知或获得错误消息。
我的测试代码如下:
网站推送ID:web.com...
证书上传到Azure的移动服务
中,并且在苹果推送通知设置
中没有出现任何错误信息。为了处理Web服务端点(
webServiceURL/version/pushPackages/websitePushID
、webServiceURL/version/devices/deviceToken/registrations/websitePushID
等),我在Mobile Services中创建了一个API,一切都运行良好。但是我无法发送推送通知或获得错误消息。
我的测试代码如下:
function send(req, res) {
var push = req.service.push;
var devicesTable = req.service.tables.getTable('devices');
devicesTable.read({
success: function(devices) {
devices.forEach(function(device) {
console.log("send to deviceToken " + device.deviceToken);
push.apns.send(device.deviceToken, {
alert: 'Toast: A new Mobile Services task.',
payload: {
inAppMessage: "Hey, a new item arrived: '"
}
});
push.apns.send(device.deviceToken, {
alert: {
"title": "Test 123 ",
"body": "Test 123 ",
"action": "View"
},
"url-args": ["boarding"]
},
{
error : function(err) {
console.log("send error " + err);
}
}
);
});
}
});
res.send(200, "");
}
我的问题是字典的格式还是Azure移动服务不支持Safari推送通知?请注意,据我所知,APNS在iOS、Mac和Safari推送通知中是相同的。
更新:我使用SimplePush进行了测试,因此证书和Safari的注册都没有问题。我的有效载荷如下:
// Create the payload body
$body['aps'] = array(
'alert' => array(
'title' => 'test',
'body' => $message
),
'url-args' => array('test'),
);