Not all registered Devices receive PNs for specific channel

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

6.3.4 Online

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

iOS and Android App

Application ID

B8A35A02-15FC-0E32-FF4F-1F19309FAE00

Expected Behavior

All devices in Table “DeviceRegistration” and with channelName “breakingNews” should receive Push Notifications, if it is triggered via REST API for channel “breakingNews”

Actual Behavior

Not all devices receive the Push Notification. If we try to identify single devices and send push notifications via console to them, everything is working. But if we send a “mass” push notification to the channel not all devices get the PN. Is there some kind of limit, to how many devices within a channel the push notification is sent?

Thanks!

Hello, @Dimitri_Voelk.

We will look into your problem and let you know when there is any news.

Best regards, Nikita.

Is this a recent problem, or did it not work to begin with?

@Nikita_Fedorishchev, we are not sure. We have lots of users in the channel audience and especially since there were some PN issues a couple of days ago on your side, the users are aware and report this type of issue more often.

Best regards, Dimitri

Hello @Dimitri_Voelk

Sorry for the late response, we’ve checked our logs and we didn’t find any errors in your app!
A few days ago there is on our side were some issues but now it works properly.
And there are no limits to delivery push notifications within a single channel.

Can you please share with a couple of devices that don’t receive push notifications?

Regards, Vlad

Hello @vladimir-upirov,

unfortunately we can’t name specific devices, because it is not predictable, if they will receive the next PN or not. Sometimes specific devices get new PNs and sometimes they don’t. The strange thing is, that for the given app and the channel “breakingNews” we have 43.580 device registrations. Today two Push Notifications were sent, which I received on my personal iPhone. But in the Analytics Dashboard only the first push notification is shown and it was sent to only 42.534 devices. What about the other devices and the second push notification?

Thanks, Dimitri

Hello @Dimitri_Voelk

after sending push notification get message status in couple seconds after push Get Message Status - Backendless SDK for JavaScript API Documentation

Hello @sergey.kuk,

we always get the info, that the message could not be found:

{
“errorMessage”: “Could not find status for message with id: D812B8F9-A664-457F-8F03-B491A08FE147”,
“messageId”: “D812B8F9-A664-457F-8F03-B491A08FE147”,
“status”: “unknown”
}

We double checked the application-id and secret-key, but it just doesn’t work. Please advise.

@Dimitri_Voelk
message id cannot be without prefix, use whole message id with message: prefix

@sergey.kuk,

unfortunately the same:

{
“errorMessage”: “Could not find status for message with id: message:D812B8F9-A664-457F-8F03-B491A08FE147”,
“messageId”: “message:D812B8F9-A664-457F-8F03-B491A08FE147”,
“status”: “unknown”
}

@Dimitri_Voelk this mean that you are using wrong message id, use whole messageId from publishing response, wait a second or two before call the method

@sergey.kuk,

here is the response of the publishing api:

{“errorMessage”:null,“messageId”:“message:F0729001-6FC0-4563-A222-6AFBB0B3D420”,“status”:“scheduled”}

And hier is the result of status polling:
{
“errorMessage”: “Could not find status for message with id: message:F0729001-6FC0-4563-A222-6AFBB0B3D420”,
“messageId”: “message:F0729001-6FC0-4563-A222-6AFBB0B3D420”,
“status”: “unknown”
}

@sergey.kuk, is it possible that the messageId is not valid after 10 minutes or so?

@Dimitri_Voelk

message status TTL is 600 seconds, so message status will not be available in 10 minutes

Hello @sergey.kuk, @vladimir-upirov, @Nikita_Fedorishchev,

we checked the status of the last to PNs (one for iOS and one for Android) and got the following errors:

{
“errorMessage”: “{“reason”:“Unregistered”,“timestamp”:1620558156431}.\n{“reason”:“Unregistered”,“timestamp”:1620764180542}.\n”,
“messageId”: “message:C7ADE46A-DDB7-4B11-A165-827BE03E4ADB”,
“status”: “failed”
}

{
“errorMessage”: “InvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\n”,
“messageId”: “message:193A0DEA-9E12-4CD8-A20A-1982AA25FF52”,
“status”: “failed”
}

What do they mean and how can they be fixed? Is it correct that you stop sending PNs to Apple and Google Servers, if you got an error for a single deviceToken?

Hello @Dimitri_Voelk

We apologize for the inconvenience. An internal ticket BKNDLSS-25108 has been created. We will let you know as soon as the problem is solved.

Regards,
Inna

Hello @Dimitri_Voelk

As the error is not clear we have added additional information to the status and released the patch, so please try again and provide us new errors

Hello @sergey.kuk,

here are the errors:

IOS:
{
“errorMessage”: “{“reason”:“Unregistered”,“timestamp”:1621185637391}.\n{“reason”:“Unregistered”,“timestamp”:1621109232615}.\n{“reason”:“Unregistered”,“timestamp”:1621213556538}.\n{“reason”:“Unregistered”,“timestamp”:1621214615889}.\n{“reason”:“Unregistered”,“timestamp”:1621208132599}.\n{“reason”:“Unregistered”,“timestamp”:1621202099007}.\n{“reason”:“Unregistered”,“timestamp”:1621208022577}.\n{“reason”:“Unregistered”,“timestamp”:1621080950443}.\n{“reason”:“Unregistered”,“timestamp”:1621158081963}.\n{“reason”:“Unregistered”,“timestamp”:1621197274872}.\n{“reason”:“Unregistered”,“timestamp”:1621214652054}.\n{“reason”:“Unregistered”,“timestamp”:1621193371540}.\n{“reason”:“Unregistered”,“timestamp”:1621195727786}.\n{“reason”:“Unregistered”,“timestamp”:1620976608404}.\n{“reason”:“Unregistered”,“timestamp”:1621175870353}.\n{“reason”:“Unregistered”,“timestamp”:1621192042479}.\n{“reason”:“Unregistered”,“timestamp”:1621068463418}.\n{“reason”:“Unregistered”,“timestamp”:1620495593304}.\n{“reason”:“Unregistered”,“timestamp”:1621199066761}.\n{“reason”:“Unregistered”,“timestamp”:1614252056359}.\n{“reason”:“Unregistered”,“timestamp”:1621225444252}.\n”,
“messageId”: “message:B37A54A6-8756-426B-A490-FCA10987A014”,
“status”: “failed”
}

ANDROID:
{
“errorMessage”: “InvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\nInvalidRegistration.\n”,
“messageId”: “message:136A7587-C3AB-4FD0-B871-94257EF4254B”,
“status”: “failed”
}

Hi @Dimitri_Voelk !

As I can see from the logs part of your devices have invalid registration. Now, with changes wich were made to the sending logic, all valid devices should receive push notifications. Could you please check and confirm that problem with one device doesn’t influence entire sending process?

We will add information about devices IDs to error message so you will be able to identify problematic devices. Internal ticket BKNDLSS-25148 was created for this purpose.
Sorry for inconvenience.

Regards, Andriy

Hello @Dimitri_Voelk

We have added device ID information to the error message. Now you can identify problematic devices.

Regards,
Inna