【问题标题】:Unable to submit push notification. ErrorCode 460无法提交推送通知。错误代码 460
【发布时间】:2019-02-10 02:35:12
【问题描述】:

我正在使用带有 MongooseIM-Push 功能的 MongooseIM。我已经在 Android 和 IOS 上配置了 FCM,并且两者都可以正常工作(通过从节点 js 代码发送通知推送进行测试)。

在使用 MongooseimPush(运行 docker 映像)时,虽然我能够在 android 上接收推送,但我收到每个发送的节的以下错误

11:46:00.372 [error] Unable to submit push notification. ErrorCode 460, Payload <<"{\"topic\":null,\"service\":\"fcm\",\"mode\":\"prod\",\"data\":{\"message-count\":1,\"last-message-sender\":\"a9jpmqz7sil9qdbr@localhost\",\"last-message-body\":\"{\\\"text\\\":\\\"nh\\\"}\"}}">>.Possible API mismatch - tried URL: <<"v2/notification/fdOXsUNXwHc:APA91bG2oIdmhrRZ5L3w2RCPE17sn9fur74LGYGnqHWl5p5o3Xr4Y-1YDhwjfhQAs4gLr7gOETsKDArL5wPuFXJGvoW2nrhr87DdAxvWpY0J4uh1ZuoZMTqn7w14vwg7kW48Lki9T8Xx">>.

11:46:00.383 [error] Unable to submit push notification. ErrorCode 460, Payload <<"{\"topic\":null,\"service\":\"fcm\",\"mode\":\"prod\",\"alert\":{\"title\":\"a9jpmqz7sil9qdbr@localhost\",\"tag\":\"a9jpmqz7sil9qdbr@localhost\",\"click_action\":null,\"body\":\"{\\\"text\\\":\\\"nh\\\"}\",\"badge\":1}}">>.Possible API mismatch - tried URL: <<"v2/notification/fdOXsUNXwHc:APA91bG2oIdmhrRZ5L3w2RCPE17sn9fur74LGYGnqHWl5p5o3Xr4Y-1YDhwjfhQAs4gLr7gOETsKDArL5wPuFXJGvoW2nrhr87DdAxvWpY0J4uh1ZuoZMTqn7w14vwg7kW48Lki9T8Xx">>.

Docker 中没有错误

11:48:37.174 [debug] Sent 200 in 86ms
11:48:37.327 [debug] Sent 200 in 245ms
11:48:42.580 [debug] POST /v2/notification/dU5K-csGDQ8:APA91bH6V4ctXe_tFy8xE6jfCVLCbS4lMuEU4SlFxZqAF85Hb9I-eoZhRQCfCXSw-JenX8xJ5DYnfSDTyzdoj0JmizdRCmNnCDPecevQj3r6waoYQhRKE_xOKBNLDAQVifn7VzPDwsCX
11:48:42.582 [debug] POST /v2/notification/ffFcxJGqD7Q:APA91bHCGy6qA-i2dzjIVDxBvevo3hcCzbBXXB1JrdFclpalGwaWCdE3PAd-XtEKj9MIJxITnOA7E3l_lUkRPvQybGbGDAkH3sNBawRFekQEocxHnQxJize_BoY4I10GieYY0_4602Xd

以下是 mongooseim 配置文件中的配置

   {mod_event_pusher, [
     {backends, [
       {push, [{wpool, [{workers, 100}]}]}
     ]}
   ]},
   {mod_pubsub, [
       {host, "pubsub.@HOST@"},
       {plugins, [<<"push">>]}
   ]},
   {mod_push_service_mongoosepush, [
      {pool_name, mongoose_push_http},
      {api_version, "v2"}
   ]}
{outgoing_pools, [
  {http, global, mongoose_push_http,
    [{strategy, available_worker}],
    [{server, "https://localhost:8443"}]}
]}.

【问题讨论】:

  • 实际上,我已经多次安装/卸载了具有相同用户名的应用程序,并且此错误显示错误(n-1)次应用程序在 mongooseim-push 中注册推送。如何删除注册的旧推送?

标签: push-notification firebase-cloud-messaging mongoose-im


【解决方案1】:

响应码460对应无效的设备令牌。正如您在评论中所说,您多次安装/卸载该应用程序。可能所有旧令牌都不再有效,Mongoose 收到 460 错误。通知成功是因为至少有一个(很可能是最新的)令牌是有效的。为了删除以前注册的令牌,您可以按照XEP-0357#disabling 中的说明停用令牌。我还建议阅读 tutorial 关于 MongooseIM 和 MongoosePush [3] 的推送通知。

您提供的配置在我看来是正确的。

【讨论】:

  • 非常感谢。我对 mongooseim 中的存在节还有 1 个疑问
  • 请帮助我解决上述问题
  • 我回答了另一个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
相关资源
最近更新 更多