仓库推送通知——你的脚本能主动告诉用户有更新
推送 JSON 格式
自建仓库用 full format(完整格式)时,在 JSON 里加 push 字段指向推送配置 URL:
{
"name": "我的脚本仓库",
"list": "https://your-cdn.com/list.json",
"push": "https://your-cdn.com/push.json",
"user_count": 500
}
push.json 的格式:
[
{
"id": "notice-001",
"title": "脚本 v1.1.0 已发布,快来更新!",
"args": "https://your-cdn.com/docs/update-101.md",
"action": "markdown"
},
{
"id": "notice-002",
"title": "仓库更新:新增 3 款游戏辅助",
"args": "",
"action": "markdown"
}
]
字段说明
| 字段 | 说明 |
|---|---|
id | 推送唯一标识。JsHook 用它判断用户是否已看过 |
title | 推送标题,直接显示在通知里 |
args | 当 action 为 markdown 时,这是 Markdown 文档的 URL |
action | 目前只支持 markdown(点通知跳转到 Markdown 文档) |
推送不是实时的
JsHook 的推送机制不是推送服务(不像 Firebase Cloud Messaging 那样实时推),而是客户端拉取:
- 用户打开 JsHook 应用时 → 拉取最新推送
- 用户打开任何注入了 JsHook 服务的目标应用时 → 也会拉取
设计上刻意不做实时推送——避免打扰用户、减少服务端压力。
避免重复推送
id 字段是幂等去重的关键:
- JsHook 记录它已经展示过哪些
id - 下次拉取时,
id已存在的通知不再重复显示 - 要推送新内容,给一个全新的
id(如notice-003)
Markdown 文档格式
args 指向的 Markdown 文档可以写详细的更新日志、使用说明等。示例:
## v1.1.0 更新说明
### 新增功能
- 金币数量自动锁定
- 生命恢复速度可调
### 修复
- 修复了在 Android 13 上的兼容问题
### 使用变化
- 现在需要配合 fridamod 框架使用
- 旧版本脚本不兼容,请到仓库下载新版
什么时候用推送
- 仓库有重要更新(脚本大幅改版、新功能上线)
- 需要通知用户做操作(如升级前备份、旧版本即将失效)
- 社区公告(QQ 群变动、GitHub 仓库迁移)
不要拿推送当日常营销——它本来就是低频率、拉取式的,用户每次打开才看一次,发太多会被忽略。