Swift Clean v1.0.9 产品功能与商业化分析
Swift Clean v1.0.9 产品功能与商业化分析返回竞品库
报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。

Swift Clean v1.0.9 产品功能与商业化分析#

样本:com.swiftclean.phone.managerpro v1.0.9 (11)
文档日期:2026-10-12
标签:[S1] 静态直接证据;[I] 产品/商业化判断;[U] 线上或动态未验证。

1. 结论先行#

  1. [S1] 产品不是单点“垃圾清理器”,而是以缓存/大文件/图片清理为主轴,叠加 App Manager(应用管理)、Network Traffic(网络流量)、Notification Cleaner(通知清理)、RAM Status(内存状态)、Device Info(设备信息)与网速工具的工具箱。
  2. [S1] 商业化核心是 TradPlus 聚合:内置 swiftcleanStart 开屏位,以及 swiftcleanScan1、swiftcleanScan 两个插屏位;Firebase Remote Config 可替换广告位配置、展示/点击上限、黑名单、加载延迟和首页原生/横幅开关。
  3. [I] 产品漏斗是“系统权限扩大可扫描范围 → 多工具触发扫描 → 结果/清理前后插屏 → 通知与 FCM 召回再进入功能页”。这不是普通工具页堆叠,而是功能、广告和召回共用同一套入口路由。
  4. [S1] 内置广告限制默认值为全屏广告每日展示 50、点击 15;真实线上值可被 Remote Config 改写,不能把 APK 兜底值写成线上现值 [U]。
  5. [S1] Manifest 同时打包 Google Mobile Ads、AppLovin、Meta、Unity、Pangle、Vungle/Liftoff、Mintegral、Bigo、IronSource/Fyber 等广告/适配器组件;这证明 SDK footprint(打包足迹),不证明每家在当前瀑布实际填充 [U]。

2. 功能全景#

ScanPage 的 func=1..9 是最清晰的功能枚举,见 jadx/sources/crown/arithmetic/floor/page/ScanPage.java:155-202。

func 功能 主要数据/权限 用户价值 静态状态
1 Cache Remove(缓存清理) All files access、Usage Access、StorageStatsManager 聚合 App 缓存、释放空间 [S1] 完整页面与扫描调用存在
2 Big File Cleaner(大文件清理) All files access、文件扫描 找出大文件并删除 [S1] 页面、结果与通知入口存在
3 Screenshot Cleaner(截图清理) All files access、图片目录/FileObserver 查找与清理截图 [S1] 页面、预览、文件监听与通知存在
4 Similar Photo Cleaner(相似照片清理) 媒体/文件读取 聚类相似图片供选择清理 [S1] 页面与扫描类型存在;准确率未测 [U]
5 App Manager(应用管理) Usage Access、包列表、卸载 Intent 查看、筛选、卸载 App [S1] AppListPage 使用系统卸载页
6 Network Traffic(网络流量) Usage Access、NetworkStatsManager 按 UID 查看流量 [S1] tf/f1.java:66-85
7 Device Info(设备信息) 系统硬件/存储信息 展示设备状态 [S1] 页面与扫描类型存在
8 Notification Clean(通知清理) Notification Listener Access 拦截、记录、批量查看通知 [S1] 自有 NotificationListenerService
9 RAM Status(内存状态) ActivityManager.MemoryInfo 展示内存占用/引导管理后台 App [S1] 页面与通知动态占用值

补充功能 [S1]:网络测速 SpeedPage/SpeedScanPage、桌面 Widget、语言设置、权限引导、About(关于)、扫描/结果页、图片预览、清理操作页。25 个自有 Activity 的完整清单见 jadx/resources/AndroidManifest.xml:96-206。

3. 关键用户流程#

3.1 首启与权限#

  1. FirstPage 是 Launcher;应用初始化 Adjust、Install Referrer、Firebase/RC 和广告配置。[S1]
  2. Android 13+ 请求 POST_NOTIFICATIONS;代码限制部分入口最多直接请求两次,之后进入自有权限引导页。[S1] FirstPage.java:104-110、MainPage.java:518-528
  3. 文件类功能先检查 Environment.isExternalStorageManager();未授权时展示引导并跳系统设置。[S1] MainPage.java:322-341,494-503
  4. App/流量功能检查 android:get_usage_stats AppOps;未授权时展示 Usage Access 引导。[S1] MainPage.java:443-451,505-516

[I] 权限并非孤立设置项,而是直接绑定功能入口:文件权限扩大清理范围,Usage Access 支撑缓存/App/流量报告,通知权限同时开启前台服务和召回通知体系。

3.2 扫描与清理#

  • [S1] 首页/通知/Widget 最终把 func 与 sourceLocation 传到扫描页。
  • [S1] ScanPage 根据 func 选择标题、图标、扫描器与后续页面。
  • [S1] App Manager 的删除动作调用 ACTION_DELETE package:<id>,仍由系统确认,不是静默卸载。
  • [S1] Cache Scan 使用 StorageStatsManager.queryStatsForUid() 读取非系统 App 缓存;缺 Usage Access/系统能力时结果可能受限。
  • [U] 实际扫描准确率、删除成功率、相似照片算法质量和不同 OEM 文件可见性未做本轮真机验证。

3.3 通知清理#

  • [S1] NotifyManagerServices 是 NotificationListenerService;对非自身、非白名单且非 ongoing 的第三方通知调用取消,并将标题/正文写入本地 Room 数据库。见 NotifyManagerServices.java:51-75。
  • [S1] 当“今日拦截数”达到 20 且可被 10 整除时,会尝试发 notify_block_notification 召回。见 simple-mode 文件 ...NotifyManagerServices.java:55-103。
  • [I] 这形成“拦截通知 → 本地累计 → 再以清理通知召回”的闭环,用户价值与召回机制共用同一数据。
  • [U] 白名单完整规则、被拦截 App 覆盖率及 Android 版本兼容性需真机矩阵验证。

4. 广告架构#

4.1 聚合 SDK 与广告位#

项目 静态结果 证据
聚合层 TradPlus SDK;客户端存在初始化标识(文档不记录具体值) [S1] tf/q.java:32-43
启动位 swiftcleanStart,format=open [S1] assets/max0.json–max3.json
扫描位 1 swiftcleanScan1,format=int [S1] 同上
扫描位 2 swiftcleanScan,format=int [S1] 同上
支持格式 open、int、nav、ban [S1] dg/l.java:90-158、dg/t.java
配置分层 max0–max3,按归因/安装天数选择 [S1] tf/u.java:58-69
同位重载冷却 已加载对象满 1 小时后才进入重新拉取判断 [S1] dg/l.java:90-97

内置 max0–max3 每套均启用上述 3 个广告位;max2 与 max3 的内置配置相同。各套 placement ID 不同,完整值保留在 JSON 真源中。

4.2 广告频控与保护条件#

规则 APK 兜底/行为 边界
全屏广告展示上限 默认 50 [S1] dg/l.java:40-44,122-135;RC 可改 [U]
全屏广告点击上限 默认 15 [S1] dg/l.java:40-44,136-147;RC 可改 [U]
Adjust ID 黑名单 adIDLimitShow 下发逗号分隔列表,命中则不请求 [S1] tf/u.java:82-98
VPN/代理 代理检测为真时跳过请求 [S1] dg/l.java:116-120;检测准确率 [U]
首页 nav/banner home_nav_removeV1=1 时不请求 nav/ban [S1] dg/l.java:149-151
广告配置启用 placement 的 enable 决定候选 [S1] 内置 JSON;线上 RC [U]

4.3 广告回跳与召回#

  • [S1] 生命周期观察器在 App 因广告页离开并进入后台时,可发 notify_click_ad 或 notify_click_applovin。
  • [S1] 两者共用标题/正文/按钮;普通广告通知点回 FirstPage,AppLovin 分支点回 AutoBackPage。见 jadx-simple/TotalPageObserver.java:278-355、uf/j.java:23-27。
  • [I] 这是“广告误触/外跳后的任务恢复”,既降低流失,也把一次广告离开转化为通知召回;但是否每个广告网络都设置了对应状态标记仍需运行时观察 [U]。

5. Firebase Remote Config#

[S1] 应用获取命名空间 firebase 的 RC 实例,最短抓取间隔设为 3,600 秒,执行 fetch/activate 并注册 realtime update listener。见 jadx-simple/tf.u.java:221-300。

Key 用途 静态状态
max0、max1、max2、max3 不同分群/安装天数的广告 placement JSON [S1] 可实时触发应用
adLimitShow 全屏广告展示上限 [S1] 正数覆盖兜底
pureClean_ad_click 全屏广告点击上限 [S1] 正数覆盖兜底
adIDLimitShow Adjust ID 黑名单 [S1]
adLoad_ab 广告加载延迟/实验参数 [S1] 首次读取;realtime listener 条件中未见该 key
home_nav_removeV1 首页 nav/banner 移除开关 [S1]
fbinfo Facebook App ID/Client Token 配置 [S1]

[U] APK 中未内置当前生产 RC 值,因此报告不能确认哪个 max*、上限或网络此刻线上生效。

6. 归因、分析与后端#

  • [S1] Adjust 以 production 环境初始化,启用后台发送并读取 Adjust ID;初始化标识不写入报告。TotalPage.java:49-73
  • [S1] 使用 Install Referrer 判断/保存归因信息。
  • [S1] 集成 Firebase Analytics、Crashlytics、Performance、Installations、Messaging、Remote Config。
  • [S1] 自有后端:https://ip.penguin-swift.com/check/new/ip 与 https://mor.penguin-swift.com/swpeng/chaid。前者循环检查布尔结果,后者上传包名及本地保存的 ID/token 信息;均带超时与指数退避。
  • [U] 请求体完整业务含义、服务端留存、响应策略及隐私政策一致性需抓包与后端文档核验。

7. 产品判断与可借鉴点#

7.1 这款产品的核心策略 [I]#

  • 用“清理”作为主心智,但把 App、网络、通知、RAM、设备状态都包装成可反复进入的工具入口。
  • 广告不是固定写死在单一页面:RC 可按归因/安装天数切换整套广告位,允许较强的商业化实验。
  • 通知 action 与 MainPage 路由一一映射,召回不是只回首页,而是尽量落到 Cache、Large File、App、Screenshot、Network、Notification Clean 或 RAM。
  • FGS、Job、Alarm、WorkManager、系统广播、FCM 与生命周期回前台共同扩大“仍可触达”的窗口,但 Android 强停仍是系统边界 [U]。

7.2 风险点#

  1. [S1/I] All files access、Usage Access、Notification Listener 三类高敏能力集中,需用清晰功能必要性、最小化调用和商店声明支撑。
  2. [S1/I] 通知权限同时成为保活装配门槛,若拒绝权限,FGS/Job/Alarm/WorkManager 初始化路径明显收缩。
  3. [S1/I] 业务通知 ID 统一为 21,短时间重复更新同一 ID;高频、同 ID 覆盖和广告回跳文案存在打扰/合规风险。
  4. [U] 多家广告 SDK 的 Data Safety、Consent、设备标识和出站请求必须以最终运行时及 Play Console 声明核对,不能仅看依赖名称。

8. 未验证项#

  • 未测试扫描、删除、通知拦截、应用卸载、网速/流量的准确性与成功率。
  • 未登录 Remote Config、TradPlus、Adjust、Firebase 或后端;线上参数、分群和效果未知。
  • 未确认每个打包广告适配器是否在当前 waterfall 启用。
  • 未验证 Consent(同意管理)在不同地区的最终呈现与阻断效果。
  • 未验证 Android 8–16、不同 OEM、电量策略和 Force Stop 对功能/广告/召回的真实影响。
竞品拆包报告库 · 逆向结论按证据等级阅读