Search code examples
androidpush-notificationpushservicenow

ServiceNow Push notifications stuck in "Pending"


I have configured a Push Notifications at ServiceNow for a custom Android app. After triggering a specific event, the notification stuck in system log with "Pending" type.

Here are more details:

  • The user can login to custom APP on mobile device, and got registered in sys_push_notif_app_install table;

  • The event triggers a push notification and it is successfully written to System Log;

  • In system log I can see the message itself, where the registered device token is also mentioned.

Now the message remains “Pending” for specific period of time, after what turns to “failure”.

We have a Push Application configured in ServiceNow, that contains Goolge API key and “REST API” value for both Push and Feedback.

I can also see 2 error messages in System Log:

app="Push app name" origin="push.feedback" 
 Invalid Feedback REST Message: no thrown error


app="Push app name" origin="push.feedback" elapsed=8 
 exception encountered getting feedback: 
 java.lang.RuntimeException: feedback job does not have a valid 
 Feedback REST Message: com.glide.push.feedback.FeedbackClientRest.getFeedback(FeedbackClientRest.java:52)

Any ideas are highly appreciated.


Solution

  • I was finally able to solve it. The key point here, is to make sure the Push Application setup is correct. This is something not clearly stated in official docs. So for Android app, these points are important:

    • Push = Direct,
    • Feedback = REST,
    • Google API key = FCM Server Key (both leagacy and the new one are working fine).

    Despite Google recommendations to set up HTTP headers for the REST message, the notifications are running fine both with- and without it. Therefore, normally you can leave out-of-the-box REST "Google Cloud Messaging Sent" unchanged.