图标包适配 API 接入说明 ========================== 一、这是什么 让你的图标包 App 在启动时(用户授权后)读取设备上所有应用的 包名 / 主 Activity 类名 / 图标,上报到本服务。服务端按包名/类名 自动匹配进你的图标包,并同步进【网站首页图标备份】,方便你了解 需要为哪些应用适配图标、提升适配率。 二、必须的授权弹窗(合规要求) App 启动时必须弹窗,且弹窗要拦截下方所有触控: 标题:图标适配授权 正文:本应用需要读取你设备上的应用图标与名称,用于改进图标包适配率。 免责声明:仅用于获取用户桌面图标/安装包名/类名来改进图标包 适配率,无其他用途。 按钮:【拒绝】=> 退出到桌面(finishAffinity) 【确定并授权】=> 读取并上报 示例实现见 AdaptCollector.java(已内置以上文案与行为)。 三、接入步骤 1. 在“图标包适配API”页面选择你的图标包,点“生成适配 token”, 得到形如 mat_xxxx 的 token(只显示一次,请保存)。 2. 在“使用人数API”页面为该接入应用生成一个使用人数 token (形如 mau_xxxx),用于统计接入应用的使用人数(联网去重)。 3. 把 AndroidManifest-merge-snippet.xml 里的权限合并进你的 AndroidManifest.xml(含 QUERY_ALL_PACKAGES 读取全部已安装应用、 INTERNET 联网)。 4. 把 AdaptCollector.java 加入工程(或按 build-dex.txt 编译成 classes.dex 放入 APK)。 5. 在你的启动 Activity.onCreate 里调用: AdaptCollector.start(this, "https://monet-apptracker.pages.dev", "mat_你的适配token", // 适配上报 "mau_你的使用人数token"); // 使用人数统计,传 "" 则不统计 权限说明:QUERY_ALL_PACKAGES 属安装期权限(Android 11+ 需声明), 系统不弹运行时授权框;SDK 在用户点“确定并授权”后会自检可见应用数, 若异常偏少会跳转到本应用“应用信息”页便于用户手动确认。用户可见的 授权入口就是启动时的弹窗(拒绝即退出应用)。 四、上报接口(SDK 已封装,无需手动调用) POST https://monet-apptracker.pages.dev/adapt/report Header: Authorization: Bearer mat_你的适配token Content-Type: application/json Body: { "apps": [ { "packageName": "com.example.app", "mainActivity": "com.example.app.MainActivity", "name": "示例应用", "iconDataUrl": "data:image/png;base64,……" } ] } 返回:{ "ok": true, "received": N, "withIcon": M } 说明:图标建议压到 144x144 PNG;单次最多 500 个应用, 每个 token 每 5 分钟最多上报 20 次。 五、更换 token 在网页“图标包适配API”页面重新“生成适配 token”,把新 token 填回 AdaptCollector.start(...) 的第三个参数即可。不同图标包用 各自的 token,上报数据会自动归属到对应图标包。 六、隐私 仅采集应用包名/类名/图标与应用名,用于图标适配统计,无其他用途; 且必须经用户在启动弹窗中明确授权后才采集。