Push notifications is not stable

Backendless Version (3.x / 5.x, Online / Managed / Pro )

BackendlessSwift (6.3.3)

Client SDK (REST / Android / Objective-C / Swift / JS )

Objective-C

Application ID

E08498BC-B039-6630-FF1F-32C32F718F00

Expected Behavior vs Actual Behavior

Push Notification from the console is not working for all channels and all devices … device registration is fine and I can see the list of registered devices but sending push notifications is very much not consistent in terms of message delivery … for instance sending thru same channel it works sometimes and after few minutes it stop working

Hello @eyad-pro,

for instance sending thru same channel it works sometimes and after few minutes it stop working

  1. and does it work after some time after it stopped working?
  2. how do you send push notifications (from the console itself, or using templates or using custom service?)
  3. does this issue occurs constantly for some period of time?

Regards,
Olha

Hi Olha,

All sending are happening from the console

1- sometime yes , but mostly no

2- from the console , using push templates mostly

3- I noticed it over the past 2 days

I’ve just checked and push notifications work fine for me.
Can I use one of your channels in your app to check?
This will require to change the certificate to ours.

Yes fine … but can I ask you kindly to reinstate my certificate after your are done with it

I can notify you here. Unfortunately I cannot reinstate yours by myself because I don’t have it and I don’t know the password.

its ok pls proceed

You can now replace our test certificate with yours back.
I’ve checked with different channels (1.999_60, etsBeep) and with different time intervals.
My devices receive notifications without any problems, and I receive the This is it notification on all of my devices after registering one.
Unfortunately as far as we cannot reproduce this issue I’d ask you to provide the more details - maybe this problem occurs in the specific daytime?

Not really no specific time …

Just one point here … do you guys have queues for delivered/undelivered messages ?.. the best approach is such cases of missing random traffic is to do logs tracing

from my side … Ill issue a new certificate and test again … .

One more point : what is the difference in the case between sandbox and production status ?

queues for delivered/undelivered messages

You can use this API to receive message status. All queued messages appear in the Messages tab:

If message status is published: our server has sent it to APNS, APNS didn’t return any error and sent it to the devices.
If message status is failed: our server has sent it to APNS, APNS return some error and we return that error in the message status.

what is the difference in the case between sandbox and production status

If your iOS app is in the production mode (e.g. for publishing it to AppStore) you should use the production one. The sandbox certificate is used for developing and testing. This answer is more accurate.

1 Like

so I changed the certificate and make to for production … then I used the etsBeep channel and send a message from console to it …and used your above method to trace it … here is the error message:

{“errorMessage”:"[ deviceId: “null”, message: “{“reason”:“BadDeviceToken”}”]\n[ deviceId: “null”, message: “{“reason”:“BadDeviceToken”}”]\n[ deviceId: “null”, message: “{“reason”:“BadDeviceToken”}”]\n[ deviceId: “null”, message: “{“reason”:“BadDeviceToken”}”]\n",“messageId”:“message:BC812CBE-9A65-44DC-92E7-E5352D77E7B9”,“status”:“failed”}

The production certificate requires different device token than the sandbox one thats why you get this error.
To get the new production token please switch your iOS app (in Xcode or other IDE you use) from the development mode to the production and register device with a production certificate.

I’ve checked with sandbox certificate and everything worked fine.

Thanks … I will do further tweaks and let you know