So I was implementing a Background Notification and had the same problem where the "didReceiveRemoteNotification" delegate method was not getting called. Weirdly enough in my case, adding "badge": 0 worked. My sample payload looks like this:
{"aps":{"content-available":1,"apns-priority":5,"apns-push-type":"background","badge":0},"yourCustomKey":"1"}