我们正在使用PYAPNS将Django应用程序的推送通知发送到运行phonegap应用程序的iOS设备。
服务器代码如下所示:
def sendNotificationAPNS(title, message, targets, eventid):
apns = APNs(use_sandbox=False, cert_file='/path/to/push_cert.pem', key_file='/path/to/push_cert.pem')
# Send a notification
for token_hex in targets:
payload = Payload(alert=message, sound="default", badge=1, custom={'eventid':str(eventid)})
apns.gateway_server.send_notification(token_hex, payload)
print('Notification to APNS send!')
return true
在移动应用程序中,Phonegap Push Plugin的代码如下所示:
// handle APNS notifications for iOS
function onNotificationAPN(e) {
if (e.alert) {
console.log('APNS Notifiation recieved: ' + e.alert);
// showing an alert also requires the org.apache.cordova.dialogs plugin
navigator.notification.alert(e.alert);
}
if (e.sound) {
// playing a sound also requires the org.apache.cordova.media plugin
var snd = new Media(e.sound);
snd.play();
}
if (e.badge) {
pushNotification.setApplicationIconBadgeNumber(successHandler, e.badge);
}
//eventid
if(e.eventid) {
console.log('APNS eventid: ' + e.eventid);
}
//custom
if(e.custom) {
console.log('APNS eventid: ' + e.custom.eventid);
}
}
问题是:我没有为e.custom或e.eventid获取任何东西?! 我需要更改什么才能访问自定义有效负载?
谢谢!