疑难解答
消息延迟或无法收到消息
推送端设置
- 将
priority
设置为high
,即"priority": "high"
; - 将
ttl
设置为86400
。
接收端设置
根据推送类型及设备类型具体设置。
FCM(谷歌)
授予 NotifyMe “自启动权限”。
ColorOS/realmeUI
ColorOS 系从 Android14(版本号 700)开始对国行设备的 Google 服务框架运行做了限制,要保证消息的送达,可采用以下方法:
-
清除电池 APP 数据,手机设置/应用/应用管理/电池/存储占用/清除数据;
-
安装下载的电池 APP;
-
再次清除电池 APP 数据。
安装前后都需要清除数据。
若此处提供的电池 APP 版本过低无法安装,可下载当前系统版本对应的氧 OS(机型无需相同),提取其中的电池 APP,按此方法操作。
国行三星
国行三星在网络无法访问 Google 时,会禁用 FCM,防止一直重连导致耗电。解决方法包括:
- 刷港版系统;
- 切换推送类型为 极光推送。
- 安装 HMS core,切换推送类型为 HMS(华为)。
若有其他解决方案,欢迎反馈。
HMS(华为)
非华为/荣耀设备使用 HMS 推送时,需要保证 HMS core 在后台正常运行,且 HMS core 能够唤醒 NotifyMe,才能保证消息送达率。具体措施(任选其一即可)包括:
- 尽可能授予 HMS core 权限,包括但不限于:自启动权限、允许应用后台行为、关联启动权限。
- 将 HMS core 转化为系统应用(需 root)。同样需授予上述权限。在转化为系统应用后,部分系统可能无法再设置权限,因此建议授予权限后再转化为系统应用。转化为系统应用后运行会更加稳定。
- 使用 HMS Push 保活(需 xposed 或 lsposed 框架)。
在非华为/荣耀设备上,NotifyMe 并不依赖 HMS Push,但若使用 HMS Push 修补了 HMS core,则同样需修补 NotifyMe,否则签名校验不通过,会导致 HMS 推送无法使用。
极光推送
第三方 ROM 需进行进行设置(授予自启动权限、后台运行无限制权限,在最近任务中将 NotifyMe 加锁),以保证应用在后台的存活率。
具体见:下文(三星)、Don't kill my app(推荐)或 SDK FAQ - 极光文档(已较长时间未更新)。
三星
OneUI6.0
- 智能管理器/实用工具/应用程序管理/NotifyMe/后台运行 设置为不受限制。
- 智能管理器/手机状态/内存/已排除的应用程序 添加 NotifyMe。
OneUI5.0
- 智能管理器/实用工具/应用程序管理/NotifyMe/自动运行 设置允许。
- 智能管理器/手机状态/内存/已排除的应用程序 添加 NotifyMe。
是否有用量限制
-
由于各大厂商推送服务本身设有 QPS,为了保障所有用户的正常使用,NotifyMe服务器(
https://notifyme-server.521933.xyz
)对用户请求进行了一定限制。分 ip 限制和 uuid 限制。ip 限制为每个 ip
40条/2秒
;uuid 限制为每个 uuid10条/秒
(可短暂突破限制,峰值50条/秒
)。当前用量仅为试运行,后续会根据余量情况酌情调整。
触发限制时,返回状态码为
427
,result值为too many request from this ip address
或too many requests from this UUID
。 -
URL1、URL2、URL3(具体见进阶使用)并无限制。但也请按需使用。若发现无意义的刷接口行为,导致使用超限,影响其他用户的正常使用,会考虑关闭上述无限制的服务器。且用且珍惜!
是否支持自建服务器
暂不支持。
- 如果有安全忧虑,可禁用 NotifyMe 的联网权限(消息接收由系统组件控制,不会受影响),在断网状态下刷新 Aes Key,使用 Aes Key 对消息标题和内容进行加密后发送(具体见进阶使用)。
NotifyMe 不会上传用户的任何信息。对网络的使用仅包括:
- UUID 的注册及更新;
- OPPO 推送及魅族推送的消息取回;
- 使用 URL 批量导入小图标;
- 使用网络小图标时缓存图片文件。
如果要长期禁用 NotifyMe 的联网权限,建议不要使用 UUID 发送消息(UUID 超过60天未同步会从 NotifyMe 服务器删除,以节省资源。建议使用
token
+pushType
的方式发送),以免 UUID 失效后影响正常使用。NotifyMe 服务器不会存储用户的消息。(OPPO 推送和魅族推送由于不支持透传消息,如果用户选择了在 app 内保存消息内容,即
reocrd
不为 0 时,消息会在服务器暂时保存,app 取回消息时服务端自动删除)