we are using PYAPNS to send push notifications from an Django application to iOS devices running an phonegap application.
The server code looks like this:
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
On the mobile application the code from Phonegap Push Plugin looks like this:
// 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);
}
}
The problem is: I don't get anything for e.custom or e.eventid?! What do I have to change to access the custom payload?
Thanks!
Aucun commentaire:
Enregistrer un commentaire