托管型 App 发布平台 · 永久免费起步

你的 App 下载页
只需要一条链接

上传 HTML 页面和安装包,AppRelease 替你托管发布页、分发安装包、管理版本。Cloudflare R2 全球加速,无需服务器,无需审核。

10s
从注册到发布
1 GB
单文件上限
7 天
签名链接 TTL
发布页流量
apprelease.click/demoapp

Demo App

完全自定义的下载页面。样式、文案、排版由你控制,平台只负责把下载按钮接上当前版本的安装包。

当前版本 v1.1.0
下载安装包
为各类 App 发布场景而生
Android APK
桌面 ZIP
版本检测 API
全球 CDN
私有桶安全
功能

发布者需要的一切,开箱即用

不绑架你的页面,不锁死你的用户。从上传到分发,全流程托管。

自定义发布页

上传你自己的 index.html,页面完全归你。平台只注入一行脚本,让下载按钮指向当前版本的安装包。不使用任何模板语法,你的 HTML 就是你的。

<!-- 你的页面,你的设计 --> <p>当前版本:{{version}}</p> <a href="/fallback" class="apprelease-download-action"> 下载安装包 </a>

当前版本一键切换

上传新包自动成为当前版本,也可以随时手动回退。每个 App 最多保留 10 个历史版本,旧的自动淘汰。

签名安全分发

安装包存于 Cloudflare R2 私有桶,每次访问实时签发限时链接,旧版本无公开地址。

版本检测 API

一条公开 API 返回当前版本号与更新说明,App 内即可检测更新,引导用户回到发布页下载。

链接永久稳定 + 维护状态 API

发布页地址一旦创建就不会变——无论迭代多少个版本,用户记住的永远是同一条链接。配套的维护查询 API 让你的 App 客户端随时检查发布页是否处于维护状态,附带公告与预计恢复时间。

SEO 优化

自定义页面标题、描述与关键词,写入发布页壳层 meta 标签。搜索引擎抓取的每一条信息都由你控制。

契约

你的页面,只多一个 class

发布页是一个纯静态的 index.html,不感知任何平台语法。想让你的下载按钮生效,唯一要做的约定是给它加上 .apprelease-download-action;想让页面显示当前版本号,写上 {{version}} 占位符即可。

  • 平台在返回页面时注入一段脚本,事件委托接管点击,指向当前版本的签名下载地址。
  • {{version}} 在返回页面时替换为当前版本号(未设置版本时替换为空,不会残留占位符)。
  • 没有当前版本时脚本不拦截,按钮回退到你自己写的 href 兜底。
  • 页面运行在跨域 iframe 里,签名 URL 由主域名壳页面持有——页面内容永远接触不到它。
index.html你的发布页
<!-- 设计完全由你控制 -->
<p>当前版本:{{version}}</p>
<a
  href="/fallback"
  class="apprelease-download-action"
>
  下载安装包
</a>
版本 API

App 内的更新检测,一个接口就够

公开接口,无需鉴权。传入 App 的 path,返回当前版本号、更新说明与发布页地址,供你的 App 做版本比较。

接口只返回元数据,不返回下载链接——下载永远发生在发布页,签名链接不会泄漏到任何可被抓取的地方。

请求GET
GET https://api.apprelease.click/demoapp/version/latest

同样的 path 上还有维护查询 API:GET /demoapp/maintenance,返回维护中标志、可选公告与预计恢复时间。

两个 API 相互独立,维护状态不影响版本查询结果。发布者可在控制台随时开关。

响应200 OK
{
  "version": "1.1.0",
  "notes": "修复若干问题,提升稳定性",
  "page_url": "https://apprelease.click/demoapp"
}
价格

免费开始,按需扩展

发布者永久免费,无需信用卡。高级功能随平台演进逐步解锁。

Free
¥0/月

适合个人开发者与小项目

  • 无限 App 数量
  • 每个 App 10 个版本历史
  • 1 GB 单文件上限
  • 自定义 HTML 发布页
  • 版本检测 + 维护 API
  • SEO 三件套配置
免费开始
Enterprise
定制

适合大规模分发场景

  • Pro 全部功能
  • 无限版本历史
  • 专属 R2 桶与配置
  • SLA 与专属支持
  • 团队协作管理
  • 独立部署选项
联系我们
如何开始

三步上线

从注册到可下载,用不了五分钟

1

注册账号

用户名 + 密码,10 秒完成,无需邮箱验证。

2

上传页面与安装包

一个 index.html,一个 .apk / .zip,填上版本号与更新说明。

3

分享链接

把 apprelease.click/你的名字 发给用户,下载永远指向当前版本。

FAQ

常见问题

支持哪些文件格式?
目前支持 .apk(Android 安装包)和 .zip(压缩包,适用于桌面端或跨平台分发的场景)。每个 App 最多保留 10 个历史版本,单文件最大 1 GB。
发布页可以完全自定义吗?
是的。上传你自己的 index.html,页面设计、样式、文案完全由你控制。平台只在页面中注入一段通信脚本,把带有 .apprelease-download-action class 的元素的点击事件重定向到当前版本的签名下载地址。不使用任何模板语法,你的 HTML 就是你的。
下载链接安全吗?
安装包存放在 Cloudflare R2 私有桶中,不公开。发布页运行在跨域 iframe 里,签名下载 URL 由主域名壳页面持有——iframe 内的页面内容永远接触不到它。旧版本没有任何公开地址。
版本检测 API 怎么用?
公开接口 GET https://api.apprelease.click/<appname>/version/latest 返回当前版本号、更新说明、文件大小与发布页地址。无需鉴权,支持跨域。注意:API 不返回下载链接——下载永远在发布页发生,引导用户打开 page_url 即可。
维护状态 API 是什么?
发布者可在控制台开关维护模式,开启后可附带维护公告与预计恢复时间。客户端通过 GET https://api.apprelease.click/<appname>/maintenance 查询当前状态。维护模式不影响发布页与下载,仅向客户端 API 告知状态。
需要付费吗?
Free 计划永久免费,包含无限 App、每个 App 10 个版本历史、1 GB 单文件上限、自定义 HTML 发布页、版本检测与维护 API、SEO 配置等全部核心功能。Pro 计划提供更大的版本历史与文件上限、自定义域名、下载统计等增强功能。
没有上传 HTML 时会怎样?
平台内置一个移动端优先的默认下载页,展示 App 名称(取自 SEO 标题或 path)、当前版本号、文件信息与下载按钮。未上传自定义 HTML 时自动展示,上传后自动替换,随时可在控制台恢复默认页。

现在就把你的 App 发出去

注册、上传、分享——今天就让用户用上最新版本。