ServiceNow 推送通知卡在“待处理”中
Posted
技术标签:
【中文标题】ServiceNow 推送通知卡在“待处理”中【英文标题】:ServiceNow Push notifications stuck in "Pending" 【发布时间】:2017-01-06 14:58:11 【问题描述】:我在ServiceNow
为自定义android 应用配置了推送通知。触发特定事件后,通知卡在“待处理”类型的系统日志中。
这里有更多细节:
用户可以在移动设备上登录自定义APP,并在sys_push_notif_app_install表中注册;
事件触发推送通知并成功写入系统日志;
在系统日志中,我可以看到消息本身,其中还提到了已注册的设备令牌。现在消息在特定时间段内保持“待处理”状态,之后变为“失败”。
我们在 ServiceNow 中配置了一个推送应用程序,其中包含用于推送和反馈的 Goolge API 密钥和“REST API”值。
我还可以在系统日志中看到 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)
高度赞赏任何想法。
【问题讨论】:
一个问题仍未解决,但到目前为止我已经发现了几点(未指定 SNow 文档)。根据 Google FCM 文档 (firebase.google.com/docs/cloud-messaging/server),我们需要在 ServiceNow 实例中修改现有的 OOTB Google REST 消息。必须改为:fcm.googleapis.com/fcm/send。此外,必须将 HTTP 标头添加到 REST 消息(这也可以在实例中轻松配置)。在 FCM 控制台设置 FCM 服务器密钥后,我们仍然在日志中遇到授权问题(用户名/密码组合无效)。 【参考方案1】:我终于能够解决它。这里的关键点是确保推送应用程序设置正确。这是官方文档中没有明确说明的内容。所以对于安卓应用来说,这几点很重要:
推送 = 直接, 反馈 = REST, Google API 密钥 = FCM 服务器密钥(旧版和新版都可以正常工作)。尽管 Google 建议为 REST 消息设置 HTTP 标头,但无论有没有它,通知都运行良好。因此,通常您可以保持开箱即用的 REST“Google Cloud Messaging Sent”不变。
【讨论】:
以上是关于ServiceNow 推送通知卡在“待处理”中的主要内容,如果未能解决你的问题,请参考以下文章