Old apple push notification is received by user - apple-push-notifications

we are using Amazon Simple Push Notifications to push the notifications to APNS. We had our app certificate changed around December 2015 and missed out to update in AWS. Thus, the notifications is failed to deliver to user.
We update the certificate in AWS in June 2016 and we had user complaints that he received a lot of notifications. After we troubleshoot, we found that the notifications that user received is the notifications we sent between December 2015 to May 2016 but this should not happening as the notifications should be failed to deliver to user.
We had check with AWS and they mentioned that their services is to deliver the message to APNS and nothing much can do from their end.
Thus, we would like to request for help to troubleshoot for this issue.
There are few questions we would like to ask:
1. How long is the notifications will be cache if it do not able to deliver to user?
2. Is the notifications services have any retry mechanism?
3. Anyway we can reset/kill all notifications that we have sent to APNS?
4. Any possible scenario that the notifications will be keep for half year long?
STEPS TO REPRODUCE
We tried to use the following steps to reproduce the issue but we not able to reproduce the issue.
Revoke the push notifications certificate in app configuration.
Send few notifications.
Update the new push notifications certificate.
Test if the notifications sent after push notification is revoked will be received by user.

Related

How to check whether I have subscribed successfully to EWS push notification?

Now I have subscribed a push notification to EWS to receive Create or New mail events, but sometime I can’t get heartbeat event from EWS more than one hour.
So, if I want to check whether these push notification subscriptions succeed, is there any tool to check it directly?
Thanks in advance!
No, there is no way of enumerating the current Push subscriptions on a Mailbox, if you successfully subscribed to a Push notification then you would have got a response with the SubscriptionId and status success. To keep a push notification active you need to respond to the heart beat messages which will contain the SubscriptionId (you get at the time of subscription) which are sent every minute see https://blogs.msdn.microsoft.com/webdav_101/2014/04/17/ews-push-what-is-the-statusfrequency-for/ for details on the status frequency . If you have access to the server then server will log errors if it can't successfully send a push notification
Typically with Push notifications the issues are with the server communicating to your listener is that end point isn't reliable or accessible from the server. But the server Subscription can go away without notice if there is a Server issue, so your code needs to track the lack of status update from the server as a sign there maybe problems with the subscription there's a good sample https://blogs.msdn.microsoft.com/emeamsgdev/2011/08/19/ews-push-notification-example-application/ .
Streaming subscriptions can be a better fit for push notification application from a client application persepctive because the client connectivity is a lot more flexible, you can also easily check if a SubscriptionId is still available using a GetEvents request etc. Although if your using Office365 the new Webhooks in the REST API are a much better overall approach.
Cheers
Glen

Parse Push Notification on Amazon Fire TV only received upon app restart

About a week ago, I began noticing my Android app stopped receiving Parse push notifications, but received just one notification (even if there were more than one) upon app restart.
Since then, I've updated to SDK 1.10.3 (from 1.10.1) and I'm still using PPNS 1.10.1 since 1.10.3 doesn't have a PPNS jar and the Amazon Fire OS doesn't support GCM. However, I'm still experiencing the same issue.
Here is the related logs upon app starting up:
V/PPNSService: Received request to start service if required
D/com.parse.push: successfully subscribed to the broadcast channel.
V/com.parse.PushConnection: PushConnection transitioning from com.parse.PushConnection$WaitStartState#4112f5f8 to com.parse.PushConnection$ConnectState#41150560
V/com.parse.PushConnection: PushConnection transitioning from com.parse.PushConnection$ConnectState#41150560 to com.parse.PushConnection$ConnectedState#419cca40
E/message: {"action":"com.familiair.display.UPDATE_STATUS","old_channel_id":43,"push_hash":"d41d8cd98f00b204e9800998ecf8427e","type":"channel","new_channel_id":44}
The last log line is my app printing out the message of the push notification, so the device is definitely receiving push notifications, just only the first one on app start. I have been manually sending push notifications from the Push dashboard. The fact that I'm still receiving one push notification upon app start means that there's nothing wrong with the push message and that it's targeting the correct device.
The push dashboard says it successfully delivered the push notification. Before this week, all push notifications were being received on my Amazon Fire TV devices.
Any help would be appreciated.

Does Parse or any other service provide feature to re-send notifications that are missed when device is offline?

If the device is offline for some period, APNS will only keep the last notification and re-send it when the device is back-online. My question is, if Parse or any other Push serivces provider has a feature to re-send the notifications that I missed during the offline period. If not, is there any way I can achieve this with current Parse features?
You can configure parse to send notifications when they became available https://www.parse.com/tutorials/ios-push-notifications
When a user's device is turned off or not connected to the internet,
push notifications cannot be delivered. If you have a time sensitive
notification that is not worth delivering late, you can set an
expiration date.
Also check here

Can you not just send one push notification to Apple's Newsstand?

We are developing a Newsstand app, and are currently working on the push notification to let users know a new issue has arrived. From the ambiguous Apple documentation it looks like we will need to send a separate push notification for each user that downloaded the app; each notification should contain a unique device token for each app instance.
The section titled Trust Components seems to imply that you can use the device token or the certificates to authenticate your push notification, but it also implies you need both.
Is it correct that we will need to send out a separate push notification for each installed instance? Can we really not send one push notification and have Apple notify all the users of the app that a new issue has arrived?
Short answer is YES the statement you made is correct.
You have to send out push notification to each device token which must be stored in your server (provider). The preferred way to send multiple notification is to not make multiple connections but reuse one to send multiple notifications. Below is the paragraph from Apple Doc
You should also retain connections with APNs across multiple
notifications. APNs may consider connections that are rapidly and
repeatedly established and torn down as a denial-of-service attack.
Upon error, APNs closes the connection on which the error occurred

How to Use Apple Push Notification?

I am completed my App but i want to add push notification into my application, i installed the SSL certificate and also build the app and get the ipa file...
But i have a doubt that is how the apple pushes the Notification to My Device? How to change the Alert Message from Apple? Where the code written to Customize our Push Notification message? Is it Client side Or server side..?
I suggest reading this carefully first and when you run into problems you ask them here.
Push Notifications programming guide
You need a push notification server in order to be able to send push notes to your application. Push notification server tutorial

Resources