【问题标题】:ServiceNow Push notifications stuck in "Pending"ServiceNow 推送通知卡在“待处理”中
【发布时间】: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 服务器密钥后,我们仍然在日志中遇到授权问题(用户名/密码组合无效)。

标签: android push-notification push servicenow


【解决方案1】:

我终于能够解决它。这里的关键点是确保推送应用程序设置正确。这是官方文档中没有明确说明的内容。所以对于安卓应用来说,这几点很重要:

  • 推送 = 直接,
  • 反馈 = REST,
  • Google API 密钥 = FCM 服务器密钥(旧版和新版都可以正常工作)。

尽管 Google 建议为 REST 消息设置 HTTP 标头,但无论有没有它,通知都运行良好。因此,通常您可以保持开箱即用的 REST“Google Cloud Messaging Sent”不变。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多