Back to Bark

Faq

docs/faq.md

1.1.44.1 KB
Original Source

无法收到推送

在 App 设置中检查 Device Token 是否正常。如果不正常,参考 这里

如果正常,可以重启下设备,如果还不能接收到推送,检查推送请求返回状态码是否为 code 200。

排查都正常后还有问题可在Bark 问题反馈群反馈。

DeviceToken显示未知

这很有可能是设备没有正常连接到苹果服务器,伴随发生 iMessage 不可用、其他 App 推送也收不到等问题。

可以尝试切换网络、重启手机、如果翻墙代理了 Apple 服务可以关闭翻墙工具。

此问题是用户设备与苹果服务器的连接问题,作者并不能提供任何帮助,需自己尝试解决。

推送使用次数限制

正常使用无任何限制,异常使用<b> IP 会被 BAN 24小时</b>
同一时刻建立了超过 1000 条 TCP 链接,新增的请求将被拒绝,发送大量推送时,请使用 HTTP/2 复用 TCP 链接。

被BAN规则:

  1. 5分钟内超过 1000 次错误请求(HTTP状态码为 400 404 500 等)
  2. 5分钟内超过 5 次 405 错误请求(主要是防止某未知软件,会大量 POST api.day.app)
  3. 5分钟内超过 5 次错误请求,并且 User-Agent 为 “*Mozilla/5.0 (X11; Linux x86_64)” (疑似绿邮会大量重试未发送成功的短信)

自行部署的 Bark-Server 无以上限制

莫名收到未知推送,比如 "Empty Message"

可能的原因:

  1. 如果用 Safari 发送过推送,在Safari输入任意网址时,可能 Safari 对历史记录搜索进行自动补全时,正好补全成 Bark API 的 URL,然后预加载触发推送。
  2. 如果将 Bark API URL 发送到聊天软件如微信文件传输助手,微信会不定时的请求 URL 触发推送。
  3. 推送 Key 泄露,推荐在服务器列表页面重置 Key。

提示服务器错误

偶尔提示一次可以忽略,可能是设备进入后台导致网络请求超时之类的原因导致的。

时效性通知无效

可以尝试<b>重启设备</b>来解决。

无法保存通知历史,或下拉推送没有点击复制按钮无法复制

可以尝试<b>重启设备</b>来解决。

因某些原因导致推送服务扩展(UNNotificationServiceExtension)未能正常运行,执行通知保存的代码未能正常执行。

多台设备使用同一个key,但只有其中一台设备可以收到推送

同一个Key只能一台设备使用,只有最后打开的APP会收到推送

自动复制推送失效

iOS 14.5 之后的版本因权限收紧,不能在收到推送时自动复制推送内容到剪切板。

可暂时先下拉推送或在锁屏界面左滑推送点查看即可自动复制,或点击弹出的推送复制按钮。

默认打开通知历史列表

再次开启APP时,会跳转到上次打开的页面。

只需退出APP时,停留在历史消息页面,再次打开APP时就是历史消息页面。

推送 API 是否支持 POST 请求?

Bark支持 GET POST ,支持使用Json

无论哪种请求方式,参数名都一样, 参考使用教程

推送特殊字符导致推送失败,比如 推送内容包含链接,或推送异常 比如 + 变成空格

这是因为整个链接不规范导致的问题,常发生在自己手动拼接URL时。

拼接URL时,注意将参数进行URL编码

sh
# 例如
https://api.day.app/key/{推送内容}

# 如果{推送内容}是
"a/b/c/"

# 则最后拼接的URL是
https://api.day.app/key/a/b/c/
# 将找不到对应的路由,后端程序将返回404

# 应该将 {推送内容} url编码后再进行拼接
https://api.day.app/key/a%2Fb%2Fc%2F

如果是使用成熟的HTTP库时,参数都会被自动处理,无需自己手动编码。

但如果是自己去拼接URL时,则需要特别注意参数中的特殊字符,最好不管有没有特殊字符,无脑套一层URL编码

如何保障隐私安全

参考隐私安全