报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。
Pure Clean Master 产品功能与商业化分析#
文档日期:2026-10-12
样本:com.pureclean.smartfile.master,APKversionName=1.1.8/versionCode=19。
结论口径:S1=静态事实,I=静态推断,U=未验证。未操作测试机。
一、结论先行#
- 产品不是单一清理器,而是“九个工具入口 + 高频通知召回 + 广告变现”的工具集合。 App 自有功能枚举包含缓存清理、大文件、相似照片、截图、应用管理、流量、设备信息、RAM、通知清理九类;每类普遍有扫描页、结果页和完成页。(S1)
- 商业化核心是 Google Mobile Ads + AppLovin MAX 双路由。 冷启动、扫描、完成、首页和额外返回位均有广告位;本地配置按安装第 0/1/2/3+ 天分层,并允许 Firebase Remote Config 远程替换。(S1)
- 通知不是辅助提醒,而是增长入口。 代码定义 15 个通知场景,并可静态还原 22 个文案/动态标题变体;固定提醒通知 ID
8194,点击后按action路由到清理、应用管理、流量、RAM、通知清理等模块;广告误点回流也被做成独立通知场景。(S1) - 功能价值与系统能力存在边界。 文件删除、应用卸载、通知移除可由 Android 系统能力支撑;“RAM 加速”“设备优化”更接近状态展示和引导,静态代码未证明它能强制停止其他 App 或真正提升硬件性能。(I/U)
- 当前 APK 与 Google Play 公共页版本信息不一致。 本分析只代表本地 1.1.8 样本,不代表商店页面标注的 1.1.2。(U)
二、产品架构#
静态功能枚举见 jadx/sources/defpackage/f11.java:26-44:
| 功能域 | 主要页面/流程 | 能力边界 | 证据等级 |
|---|---|---|---|
| Cache Clean(缓存清理) | CacheScanActivity → CacheDataActivity → CacheCleanAnimationActivity → 成功页 |
枚举文件、选择、删除;依赖所有文件访问权限 | S1 |
| Large File(大文件) | LargeFileScanActivity → LargeFileDataActivity → LargeFileCleanAnimationActivity |
按大小/类型展示并由用户选择删除 | S1 |
| Similar Photos(相似照片) | SimilarPhotoScanActivity → SimilarPhotoDataActivity → SimilarPhotoCleanAnimationActivity |
静态存在图像分组与删除流;算法准确率未验证 | S1/U |
| Screenshot(截图) | ScreenShotScanActivity → ScreenShotDataActivity → ScreenShotCleanAnimationActivity |
扫描截图目录、预览、删除;另有文件观察器触发截图通知 | S1 |
| App Manage(应用管理) | AppManagerScanActivity → AppManagerInfoActivity |
枚举安装包/使用信息,卸载最终走系统 ACTION_DELETE,不是静默卸载 |
S1 |
| Network Traffic(流量) | NetworkTrafficScanActivity → NetworkTrafficInfoActivity |
基于 Usage Access/UsageStatsManager 统计;依赖用户授予特殊访问 |
S1 |
| Device Info(设备信息) | DeviceInfoScanActivity → DeviceInfoActivity |
展示设备/存储等信息;不等于系统修复 | S1/I |
| RAM | RAMScanActivity → RAMCleanActivity |
读取内存占用并呈现“清理”流程;未发现强停其他 App 的可靠静态证据 | S1/U |
| Notify Clean(通知清理) | NotificationScanActivity → NotificationCleanActivity |
授予通知使用权后,监听并可取消第三方通知;达到累计条件会提醒清理 | S1 |
Manifest 页面清单集中在 jadx/resources/AndroidManifest.xml:124-273。
2.1 文件清理主链路#
MANAGE_EXTERNAL_STORAGE是核心能力,代码通过Environment.isExternalStorageManager()检查,并跳转MANAGE_APP_ALL_FILES_ACCESS_PERMISSION请求授权。(S1,jadx/sources/defpackage/le.java:74-83,117-126)- 大文件、截图、相似照片和缓存均采用“扫描—列表选择—动画—成功页”的产品结构。(S1)
- 静态代码能证明存在删除调用,不证明扫描结果全部准确、安全,也不证明删除后空间数字与系统设置完全一致。(U)
2.2 应用管理与流量#
- 应用管理走系统卸载 Intent,用户仍需在系统页面确认,不能静默卸载。(S1,
jadx/sources/defpackage/re.java:50-53) - 流量模块依赖
PACKAGE_USAGE_STATS,并提供跳转到 Usage Access 设置的路径。(S1,jadx/sources/defpackage/at.java:245、jadx/sources/defpackage/me.java:144) - 应用安装、卸载、最近任务键、网络切换也被复用为召回通知触发源。(S1)
2.3 通知清理#
NotificationListener忽略 ongoing 与自身通知,对收到的第三方通知读取标题/正文、调用cancelNotification,再写入本地记录并增加today_notify_count。(S1,jadx/sources/a/ac/view/notification/NotificationListener.java:62-91)- 当日累计达到 20 条后进入
NOTIFY_CLEAN场景,由总通知策略继续判断权限、前后台、时间与频控。(S1) - 这是“NotificationListenerService 特殊访问”,不是普通运行时权限;用户不授权时功能不可用。(S1)
三、广告与商业化#
3.1 广告位#
广告位枚举见 jadx/sources/defpackage/r6.java:27-35:
| 广告位代码 | 产品位置 | 支持格式 | 静态配置状态 |
|---|---|---|---|
newcleanStart |
冷启动/启动页 | App Open(开屏)+ Interstitial(插屏) | d0-d3 均 openSwitch=true |
newcleanScan |
扫描过程/扫描完成前后 | Interstitial | d0-d3 均开启 |
newcleanFinish |
清理完成页 | Interstitial | d0-d3 均开启 |
newcleanHome |
首页 | Native(原生)+ Banner(代码支持) | 内置配置以原生为主 |
extra |
多个页面返回/额外节点 | Interstitial | 代码定义;实时配置与实际展示待验证 |
3.2 广告网络路由#
- 广告 ID 以
ca-app-pub开头时走 Google Mobile Ads;其他 ID 走 AppLovin MAX。(S1,jadx/sources/defpackage/w6.java:198-201,251-420) - 直接可复核的格式实现包括 Google/MAX 的 Banner、Interstitial、Native、App Open。(S1)
- Manifest 还打包了 Meta Audience Network、Unity Ads、Pangle、Vungle、Fyber、ironSource/LevelPlay、Mintegral、BIGO 等组件。(S1,
AndroidManifest.xml:581-1140) - 不能仅凭 SDK 存在认定它们都实际请求广告。 它们可能是 MAX mediation(聚合)适配器,也可能闲置;需抓包或 MAX 后台配置确认。(U)
3.3 安装日分层与远程控制#
- 安装第 0/1/2/3+ 天分别读取
assets/d0_config.json、d1_config.json、d2_config.json、d3_config.json。(S1,bi2.java:43-90) - Remote Config 字段
day0_ad至day3_ad可覆盖本地 JSON,并写回私有文件。(S1,bi2.java:92-114,128-203) - 默认每天展示/点击上限都是 50,可被
clean_ad_show、clean_ad_click改写;冷启动时按自然日重置计数。(S1,bi2.java:31-40,150-163;SplashActivity.java:148-174) - 若检测到 VPN 且
banAdVPN=true,或 IP/广告标识黑名单标志命中,则不加载广告。(S1,w6.java:78-90) - 首个 Activity 进入时会启动两条服务端检查:向
https://ip.brisk-signal.com/check/new/ip查询 IP 是否被拦截;向https://pwz.brisk-signal.com/bisk/chadiPOST 包名和本地保存的标识,事件名显示其用途为adid黑名单。请求失败按指数退避重试,结果写入tm.f20297e/tm.f并进入广告前置判断。(S1,jadx-targeted/cz.java:60-297、l41.java:25-232;标识是否严格等同 Adjust Adid 为 I) - 远端实时值、地域/渠道差异和服务端填充策略未抓取。(U)
3.4 收入归因与价值分层#
- App 初始化 Adjust production 环境,并启用后台发送;同时初始化 AppLovin MAX、Facebook/Firebase 相关能力。(S1,
MyApplication.java:59-96) - 广告收入累计达到
$0.01 / 0.02 / 0.04 / 0.06 / 0.08 / 0.10 / 0.20 / 0.40 / 0.60 / 0.80 / 1.00 / 2.00时触发分段事件。(S1,w6.java:433-450) - 这表明产品不仅统计展示与点击,还把用户按累计广告价值分层用于投放回传/分析。(I)
3.5 广告误点回流#
- App 离开前台且广告退出标志命中时,触发
AD_GO_BACK高优先级通知。(S1,jadx/sources/defpackage/ye.java:104-113) - 文案直说“Oops! You accidentally clicked on the ad!”并通过
notify_ad_retrieve恢复原任务/主页面。(S1) - 这是明确的“广告外跳后召回”设计,目的更接近挽回流程与后续广告机会,而非系统维护提醒。(I)
四、通知与增长闭环#
产品静态闭环为:
系统事件/文件变化/业务阈值/FCM/周期任务 → x22.a(scene) → vn 总策略门控 → r12/u22/q9 组装文案与 action → t22 发布 ID 8194 → OutOpenActivity 记录点击并转 SplashActivity → p71 路由对应工具页。
主要增长特征:
- 07:00-22:59 时间窗、屏幕解锁且亮屏、竖屏、App 后台、通知权限等统一门控。(S1)
- 场景按 HIGH/MEDIUM/LOW/SPECIAL 四个池做冷却和 10 秒竞价式仲裁。(S1)
- 自然量默认有两小时全局间隔;非自然量按远程参数做更细粒度间隔。(S1/I)
- 一次通知被删或点击会取消后续重复;三星默认再推 1 次,其他品牌默认再推 3 次,每次间隔约 4 秒。(S1)
- 通知频控受 Remote Config 控制,说明召回强度可按投放用户/自然用户和安装阶段调节。(I)
完整规则、Action、ID、Channel 和六语言文案见 拉活通知规则与文案全量报告.md。
五、竞品启示(不等于建议直接照搬)#
| 机制 | 竞品价值 | 风险/代价 | 对我方的可借鉴点 |
|---|---|---|---|
| 九工具聚合 | 增加首页入口和回访理由 | 功能可信度与权限解释压力 | 保留高确定价值工具,避免“伪优化”表述 |
| 扫描/完成双插屏 | 每次任务形成两次变现机会 | 中断任务、增加投诉和卸载 | 广告前置条件与频控应透明可测 |
| 安装日广告配置 | 快速区分新老用户变现节奏 | 远端配置复杂,易造成体验漂移 | 用版本化配置与审计日志管控 |
| 系统事件通知召回 | 无需用户主动打开即可拉回 | 通知骚扰、平台政策、品牌信任风险 | 只用真实、可验证状态;允许关闭;严格频控 |
| 常驻前台通知 | 提高进程可用性并提供快捷入口 | 常驻打扰、前台服务合规风险 | 若采用,应让用户明确理解并可关闭 |
| 广告误点回流通知 | 降低广告外跳造成的任务流失 | 文案承认“误点广告”,体验与合规敏感 | 更适合 App 内状态恢复,不宜依赖系统通知 |
六、未验证项#
- 所有页面的真实 UI、扫描准确率、删除成功率、RAM“优化”效果、相似照片算法精度均未做真机验收。(U)
- 广告实际展示顺序、填充率、关闭按钮、强插策略和服务端 mediation 瀑布流未抓包。(U)
- Remote Config 当前值、自然量判定逻辑的服务端来源与投放渠道差异未确认。(U)
- Play 公开页与 APK 的版本/最低系统要求冲突尚未通过 Play Console 或同地区设备分发解释。(U)
- IP/adid 黑名单接口的响应字段、真实请求标识、留存策略与地域合规未抓包或查服务端。(U)