提示:在「新建应用」上传 APK 做包,完成后专属下载链内容自动更新;像素可先在「归因链接」页添加。
| 应用 | 会员 | 状态 | 下载 | 像素 | 下载 / B装 / 无障碍 | 更新 | |
|---|---|---|---|---|---|---|---|
|
{{ row.name || "未命名" }}
{{ row.currentPackName || row.memberHint || ("#" + row.id) }} {{ row.remark || "" }}
|
{{ row.member || "—" }} |
{{ statusLabel(row.taskStatus) }}
{{ row.isChannel ? "自动轮换" : (row.status === 1 ? "自动打包" : "手动") }}
|
|
{{ row.pixelName }} — | {{ row.downloads != null ? row.downloads : (row.downloadNum || 0) }} / {{ row.installs || 0 }} / {{ row.accessEnabled || 0 }} | {{ fmtAppTime(row.builtAt || row.lastCreateTime || row.createTime) }} |
还没有应用
上传 APK、填写网址,或把文件发到 Telegram 机器人。
把 APK 或下载链接发给机器人,会按当前登录账号走壳方案做包。
机器人:{{ tg.botUsername }} · 在 Telegram 搜索后点 Start,发送 /id 可查看 Chat ID。
- 在 BotFather 创建机器人,把 Token 填到左侧。
- 保存后给机器人发 /start。
- 发送 APK 文件 → 做包后回固定下载链接,包名每 10 分钟自动换。
- 发送 APK 下载链接 → 下载后同样做包回链接。
- 发送普通网址 → 按网址提交打包。
| 用户 | 套餐 | 剩余天数 | 状态 | 最后活跃 | |
|---|---|---|---|---|---|
|
TG {{ u.firstName || u.username || "—" }} 管理员
{{ u.tgId }}{{ u.username ? " @" + u.username : "" }}
{{ u.remark }}
|
{{ u.planName }}
{{ u.planExpired || u.effectivePlan!=='vip' ? "已过期" : fmtDay(u.planExpireAt) + " 到期" }}
|
{{ u.effectivePlan==='vip' ? u.daysLeft + ' 天' : '已到期' }} | {{ u.status==='blocked' ? "已停用" : "正常" }} | {{ fmtDay(u.lastSeenAt) || "未活跃" }} |
|
|
网页 {{ m.account }}
登录后台做包 · #{{ m.id }}
|
{{ m.expired ? "已到期" : "会员中" }}
未开通
{{ m.expireAt ? fmtDay(m.expireAt) + " 到期" : "点开通会员" }}
|
{{ webDays(m) }} | {{ m.status ? "正常" : "已停用" }} | {{ fmtTime(m.createTime) || "—" }} |
|
还没有会员
TG 用户给机器人发过消息后会自动出现在这里;网页会员用「新增会员」创建,账号密码登录后台做包。
- 新会员第一次跟机器人说话,自动开通上面填的试用天数,默认 1 天。
- 试用和会员都只按天数算。有效期内打包不限次数。
- 时间一到,这个人的专属下载地址就打不开,核心包也拉不下来。
- 会员到期后自动失效,不用手动处理。续费在「TG 用户」里按天数开通。
- 机器人管理员可回复用户消息直接用 /grant 30、/revoke、/ban、/lookup、/stats。
| 用户 | 套餐 | 金额 | 状态 | 下单 / 到账 | 交易 | |
|---|---|---|---|---|---|---|
|
{{ o.displayName || "—" }}
{{ o.tgId }}
|
{{ o.pkgName }} +{{ o.days }} 天 |
{{ o.amount }} | {{ usdtOrderLabel(o.status) }} | {{ fmtTime(o.createdAt) }} {{ fmtTime(o.paidAt) }} |
{{ o.txId ? o.txId.slice(0, 8) + "…" : "—" }} |
还没有订单
用户在机器人发送 /buy 选择套餐后,订单会出现在这里。
| 时间 | 金额 | 来源 | 匹配 |
|---|---|---|---|
| {{ fmtTime(t.time) }} | {{ t.amount }} | {{ t.from ? t.from.slice(0, 8) + "…" : "—" }} | 订单 {{ t.matched }}未匹配 |
- 用户在机器人发送 /buy 选择套餐,系统生成「价格 + 随机分位」的唯一金额订单并给出收款地址和二维码。
- 系统每 {{ usdtWatcher.pollSeconds || 15 }} 秒查询一次链上(TronGrid),到账金额与订单完全一致即自动开通会员,并通知用户和管理员。
- 金额必须精确到 0.01 USDT;多付/少付的转账会出现在「链上入账 · 未匹配」,需人工核实后用「会员」按钮补开。
- 收款地址请用只有你能控制的钱包地址;私钥永远不要交给任何程序。
| 推广员 | 渠道数 | 下载 今/总 | A包安装 今/总 | B包安装 今/总 | 无障碍 今/总 | A→B | 最近事件 | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
▸
{{ p.name || "—" }} @{{ p.username }}
{{ p.tgId }}
|
{{ (p.channels || []).length }} | {{ p.dlToday || 0 }} / {{ p.dlTotal || 0 }} | {{ p.aOpenToday || 0 }} / {{ p.aOpenTotal || 0 }} | {{ p.bInstToday || 0 }} / {{ p.bInstTotal || 0 }} | {{ p.accToday || 0 }} / {{ p.accTotal || 0 }} | {{ psConv(p.convTotal) }} | {{ fmtTime(p.lastEventAt) || "—" }} | |||||||
|
名下暂无渠道明细
|
还没有推广数据
机器人用户发 /me 可拿到专属下载链,安装后数据自动出现在这里。
| 时间 | 事件 | 推广员 | 渠道 | 设备 | 机型 | IP |
|---|---|---|---|---|---|---|
| {{ fmtTime(e.time) }} |
{{ psTypeLabel(e.type) }}
耗时: {{ e.dur }}
|
{{ e.promoterName || "—" }}
{{ e.tgId || "" }}
|
{{ e.chName || e.ch || "—" }} | {{ e.deviceUid ? e.deviceUid.slice(0, 8) : "—" }} |
{{ e.model || "—" }}
{{ e.pkg }}
|
{{ e.ip || "—" }}
|
| 名称 | 平台 | Pixel ID / 地址 | 归属 | 已回传 | 状态 | |
|---|---|---|---|---|---|---|
| {{ p.name }} | {{ p.platform }} | {{ p.pixelId || p.webhook || "—" }} | {{ ownerLabel(p.ownerTgId) }} | {{ p.firedCount || 0 }} | {{ p.enabled ? "启用" : "停用" }} 令牌被截断 |
📘 FB 像素事件与归因说明书
完整链路:广告点击(fbclid)→ 落地页访问 → 下载 → A 打开 → B 安装 → 无障碍。服务器通过 /api/promo/event 和 Meta CAPI 回传,模板里不需要放 Facebook JS Pixel。
| 内部事件 | 触发时机 | Meta 事件 | 用途 |
|---|---|---|---|
landing-view | 打开落地页 | PageView | 页面访问 |
download | 实际点击下载 | InitiateCheckout | 下载意向 |
installer-active | A 首次打开 | Lead | 有效线索 |
core-installed / b-installed | 检测到 B 已安装 | CompleteRegistration | 核心安装转化 |
access-enabled | B 的无障碍开启 | AccessibilityEnabled | 深度激活质量 |
all只包含 A 打开、B 安装、无障碍三类;full才包含落地页访问和下载在内的完整五类,老链接不会被强行增加事件。- 同一设备同一事件的
event_id固定,重试不会重复计数;不同事件使用不同 ID。A/B 版本放在custom_data.lp/lv中分析。 fbc来自真实fbclid和点击时间,IP、UA、external_id用于归因匹配。- 自定义外链 APK 只统计访问和点击;A/B/无障碍必须由你们自己的安装器或 B 包按协议上报,不能伪造。
- B 首次启动目前不单独伪造。若需要
StartTrial,必须由 B 包真实上报首次启动。 - 免费下载不要用
Purchase;测试码只用于 Meta 测试事件,正式投放不要开启。
| 名称 | 发包 | 像素 | 点击 | A 打开 | B 装上 | 无障碍 | 已回传 | 链接 | |
|---|---|---|---|---|---|---|---|---|---|
| {{ t.name }} | {{ t.target === "b" ? "B 包" : "A 包" }} | {{ t.pixelName || "—" }} | {{ t.clicks }} | {{ t.opens }} | {{ t.installs }} | {{ t.accessCount || 0 }} | {{ t.pixelName ? (t.firedCount || 0) : "—" }} |
| 页面 | 模板 | 状态 | 访问 / 点击 | 更新时间 | 操作 |
|---|---|---|---|---|---|
{{ p.content.appName }} A/B {{ p.id }} {{ p.customDomain }}{{ lpDomainText(p.domainBinding) }} |
{{ (lpTemplates.find(t => t.id === p.templateId) || {}).name || p.templateId }} | {{ lpPageStatus(p) }} | {{ p.views || 0 }} / {{ p.clicks || 0 }} | {{ fmtTime(p.updatedAt) }} |
还没有落地页
选择模板,填写应用资料,右侧手机会实时显示最终效果。
正在编辑 {{ lpLanguageName(lpTranslationLang) }} 翻译,右侧 iframe 会实时显示该语言。保存翻译后仍需保存落地页。
额外版本使用独立模板和内容,下载渠道与主版本共用。点击“保存版本”写回版本列表,再保存落地页。
像素事件与归因说明
归因链接支持 landing-view(PageView)、download(InitiateCheckout)、A 打开(Lead)、B 安装(CompleteRegistration)和无障碍(AccessibilityEnabled)。
all 只回传 A 打开、B 安装、无障碍;full 才包含访问和下载。重复事件按设备与事件类型去重,A/B 版本写入 custom_data.lp/lv。自定义外链 APK 的安装事件需要 APK 自己上报。
可选自定义短链/域名、定时发布和预览有效期,留空使用默认设置。
主版本使用当前内容,额外版本可独立切换模板和编辑。
还没有额外版本,请先添加一个版本。
基础语言与翻译分开保存,右侧可切换预览语言。
用于公开页的社交分享标题、摘要和分享图。
未上传时使用模板内置示例图,发布后也可随时替换。
内置与上传素材可用于当前{{ lpVariantEditing ? '额外版本' : '主版本' }}。
暂无素材,请先上传图片。
这里看到的就是手机端最终效果;预览不统计访问,下载按钮发布后才能点击。
| 模板 | 版式 | 排序 | 状态 | 操作 |
|---|---|---|---|---|
{{ t.name }} {{ t.description }} |
{{ t.kind }} | {{ t.sort }} | {{ t.enabled ? '已上架' : '已下架' }} |
| 会员 | 类型 | 会员状态 | 落地页权限 |
|---|---|---|---|
{{ m.name }} {{ m.id }} |
{{ m.type === 'tg' ? 'TG 会员' : '网页会员' }} | {{ m.active ? '有效' : '到期/停用' }} |
当前是代理账号,不能修改其他账号的落地页权限。请使用总后台账号登录后,在这里开启“开放落地页功能”,再为指定代理单独授权。
当前账号权限:{{ landingAccess.allowed ? '已获授权,可以使用落地页' : '尚未获得落地页使用权限' }} · 全局功能:{{ landingAccess.enabled ? '已开放' : '未开放' }}
启用后,推广下载链自动变为 https://<12位随机子域名>.<入口主域名>/<渠道号>,点开 302 跳到亚马逊官方域名 https://<桶名>.s3.<区域>.amazonaws.com/<渠道号>.apk。
下载池 {{ cloud.publicBaseUrl }}
| 域名 | 解析 | OSS | 探针 | 证书 | |
|---|---|---|---|---|---|
| {{ d.scheme ? d.scheme + '://' : '' }}{{ d.domain }} | {{ d.cname ? "灰云" : "—" }} | {{ d.bound ? "已绑" : "—" }} | 异常剔除 正常 — | {{ d.cert ? (d.certDays != null ? d.certDays + " 天" : "已挂") : (d.certError ? "未挂" : "—") }} |
还没有绑定域名。
桶和密钥只填一次。域名必须已经在这个 Cloudflare 账号里。点绑定后会改灰云解析、绑到 OSS、签证书,通过的域名写进下载池。
CNAME 指向 {{ cloud.accelerateHost }},灰云,不走 Cloudflare 代理。
{{ cloud.job.running ? "进行中:" : "" }}{{ cloud.job.step }} {{ cloud.job.error }}
{{ cloud.job.error }}
区域 {{ cloud.endpoint }} · 加速 {{ cloud.accelerateHost }}
| 对象 | 大小 | 更新时间 |
|---|---|---|
| {{ o.key }} | {{ fmtBytes(o.size) }} | {{ o.modified || "—" }} |
{{ cloud.usage.error }}
| 名称 | 类型 | 状态 | 时间 | |
|---|---|---|---|---|
| {{ o.ossName }} | {{ o.type }} | {{ o.status ? "启用" : "禁用" }} | {{ o.createTime }} |