ServiceNow Push-уведомления застряли в "Ожидании"
Я настроил Push-уведомления на ServiceNow
для пользовательского приложения для Android. После запуска определенного события уведомление застревает в системном журнале с типом "Ожидание".
Вот больше деталей:
Пользователь может войти в пользовательское приложение на мобильном устройстве и зарегистрироваться в таблице sys_push_notif_app_install;
Событие вызывает push-уведомление, и оно успешно записывается в системный журнал;
- В системном журнале я вижу само сообщение, где также упоминается зарегистрированный токен устройства.
Теперь сообщение остается "ожидающим" в течение определенного периода времени, после чего превращается в "сбой".
В ServiceNow настроено приложение Push, которое содержит ключ API Goolge и значение "REST API" как для Push, так и для обратной связи.
Я также вижу 2 сообщения об ошибках в системном журнале:
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)
Любые идеи высоко ценятся.
1 ответ
Я наконец смог решить это. Ключевым моментом здесь является проверка правильности настройки приложения Push. Это что-то неясно указано в официальных документах. Итак, для приложения для Android важны следующие моменты:
- Push = Direct,
- Обратная связь = REST,
- Ключ API Google = Ключ сервера FCM (как устаревший, так и новый работают нормально).
Несмотря на рекомендации Google по настройке заголовков HTTP для сообщения REST, уведомления работают нормально как с так и без него. Поэтому, как правило, вы можете оставить стандартную REST "Отправлено Google Cloud Messaging" без изменений.