MiPush Framework使用指南

·
2023年2月3日
·
6W+ 次阅读
·
字数:14572,阅读约49分钟
·
MiPush

指南版本

ver=v0.8.1

latest-update=2024.02.23

以下内容全文为MiPush Framework使用指南,请分享给有需要的人

声明

  1. 本文档
    • 依据MiPush版本:v0.3.11+即频道最新内测版
    • 依据设备:一加9PRO Color14
  2. 本文档是原Q群内精华消息,现已重新排版优化,并加入自己的理解,欢迎指正
  3. 如搬运本文档的任何内容,请说明文档来源
  4. 交流
  • 更多:(加群,教程,文件)
    • 手机版:请点击左上角三条杠查看更多
    • 电脑版:请看顶部导航栏

更新日志


-1. 简易便捷快速跳转目录


安装与配置
伪装及注册
配置文件
通知
冲突问题与权限设置
名词解释
FAQ

0. 应用、工具与环境


0.1 依赖环境

0.2 依赖工具

  1. 推送服务(通)
  2. MiPus(通)
  3. 配置文件(通)
  4. 伪装模块(非MIUI)

0.3 应用获取

PS:部分应用使用其他应用商城下载的包可能存在伪装没效果或没用的情况,可以尝试使用以下两种包
  1. 小米应用商店网页版下载应用安装包方法:

    1. 手机浏览器输入网址: m.app.mi.com/details?id=(此处填应用包名)
      • 例如下载今日头条
      • 链接为: m.app.mi.com/details?id=com.ss.android.article.news
    2. 点击:免费下载
    3. 开始拼图验证
    4. 通过后自动下载
  2. 华为应用市场网页版下载应用安装包方法:

    1. 手机浏览器输入网址: appgallery.huawei.com
    2. 选择一个应用,例如酷安,点击进入,这时网址显示为: appgallery.huawei.com/app/C10414599
    3. 把网址改成: appgallery.cloud.huawei.com/appdl/C10414599
      1. huawei.com 前增加个 cloud.
      2. app 后面加入 dl
    4. 回车,下载

1. 安装与配置


1.1 服务安装-ROOT

1.1.1 VCD为1003003000

PS1:此版本不推荐Color系统的手机使用
PS2:MIUI推荐使用此版本,无需精简
  1. 打开 核心破解 的前四个功能开关
    MiPush Framework使用指南
  2. 安装 推送服务
  3. 安装 MiPush模块
  4. LSPosed中勾选 推荐作用域
    • 系统框架
    • 推送服务
  5. 重启手机
  6. 你已完成米推安装的所有步骤,后续请查看注册相关知识

1.1.2 VCD为105

1.1.2.1 小米机型MIUI系统:

PS1:黑鲨手机(没刷别的系统的)也使用此方法
  1. 卸载 小米服务框架 更新
  2. 刷入 精简模块
  3. 重启手机
  4. 安装 推送服务
  5. 安装 MiPush模块
  6. LSPosed中勾选 推荐作用域
    • 系统框架
    • 推送服务
  7. 重启手机
  8. 你已完成米推安装的所有步骤,后续请查看注册相关知识

1.1.2.2 小米机型非MIUI系统:

  1. 刷入 小米机型模块(Prop)
  2. 安装 推送服务
  3. 安装 MiPush模块
  4. LSPosed中勾选 推荐作用域
    • 系统框架
    • 推送服务
  5. 重启手机
  6. 你已完成米推安装的所有步骤,后续请查看注册相关知识

1.1.2.3 非小米机型:

  1. 安装 推送服务
  2. 安装 MiPush模块
  3. LSPosed中勾选 推荐作用域
    • 系统框架
    • 推送服务
  4. 重启手机
  5. 你已完成米推安装的所有步骤,后续请查看注册相关知识

1.1.2.4 非小米机型MIUI系统:

PS:(方法2)待测试,如果可以使用,请来反馈下,感谢!
  1. 安装 推送服务
  2. 安装 MiPush模块
  3. LSPosed中勾选 推荐作用域
    • 系统框架
    • 推送服务
  4. 伪装
    • (方法1)安装Magisk模块(改成小米机型)(全局)
    • (方法2)安装MiPushDeviceFake或MiPushfaker
  5. 重启手机
  6. 你已完成米推安装的所有步骤,后续请查看注册相关知识

1.2 服务安装-免ROOT

PS:方法由群友【wyj809】提出
  1. 安装 推送服务
  2. 安装 LSPatch
  3. 安装 伪装模块
    • 目前有主流的有 MiPush、MiPushFaker、MiPushDeviceFake 3种
    • 无需全部安装以及全部修补进应用里,后面会推荐使用
  4. 使用LSPatch将伪装模块修补进需要推送的应用里
  5. 安装 修补好的应用,登录
  6. 推送服务应用页面 查询该应用是否 已注册
    • 如已注册说明伪装成功
    • 如未注册或者注册了不推送,可以尝试更换其他伪装模块
  7. 应用可推送后,如需配置文件可至云盘内下载使用

1.2.1 免root推送小贴士

  1. 酷安建议使用便携模式修补,否则会出现反复注册的情况。
  2. QQ建议使用便携模式修补,可以改善漏消息的情况。
  3. 闲鱼不建议使用MiPushFaker及MiPushDeviceFake模块修补,会出现打开闲鱼时状态栏消失的bug,建议使用MiPush模块修补。
  4. 微博、高德地图、B站、百度贴吧,支付宝,使用修补版注册成功后,可卸载修补版再安装回原版,仍然可以收到消息推送。
  5. 支付宝修补后偶尔会出现打开时闪退和字体大小失效等现象,重新打开、重新设置即可,不影响应用使用和消息推送。
  6. MiPush模块,在未root手机上使用,不能实现以应用身份发送通知功能,只能实现伪装小米设备功能。
  7. 修补后的应用如更新,可下载最新应用安装包,修补后覆盖安装,可保留应用原有的数据不丢失。
    • PS:不推荐成功推送后,将伪装移除,哪怕该应用移除伪装后也可以继续推送

2 伪装及注册


2.1 应用伪装

  • 伪装模块推荐
    1. 以下推荐模块并非仅能使用该模块才可注册及推送
    2. 另外其他应用未测试,可自己使用几种伪装模块换着修补尝试,方法相同
    3. 如果有测试新的模块和应用组合,记得来酷安或者Q频道跟我提,我来新增上去
伪装模块 MiPush MiPushFaker MiPushDeviceFake
应用1 QQ QQ 百度
应用2 淘宝 淘宝 酷安
应用3 闲鱼 闲鱼 支付宝
应用4 抖音 菜鸟 拼多多
应用5 京东
应用6 哈啰
应用1 苏e行 米游社
应用2 小红书 支付宝
应用3 渝快政 浙政钉
应用4 饿了么
应用5 小宇宙
应用6 渝快政
应用1 哔哩哔哩 哔哩哔哩
应用2 QQ邮箱 高德地图
应用3 今日头条 企业微信
应用4 虎牙直播
应用5 百度贴吧
应用1 Boss直聘 APP分享
应用2 哔哩哔哩漫画
应用1 Outlook

2.2 注册

2.2.1 自动注册

  • 除小米MIUI机型外,其余系统需先进行需进行相应伪装,已成功伪装后打开相应的应用进行注册

  • 打开目标应用即可自动进行注册,未触发注册可能是伪装不到位或注册异常,对于注册异常的应用,参考如下方式进行解决:

    • 对于 root 用户,前往注册异常应用的数据目录:/data/data/应用包名/shared_prefs/ ,删除该目录下的mipush.xml文件并重启应用
    • 对于无 root 用户,需要清空应用数据或卸载重装软件
  • 特别注明:

    1. 全部都显示异常的,可以直接用MT管理器去data/data目录下搜mipush,然后全删,重新注册即可
    2. 如果还是注册异常,检查一下是否启用了全局广告拦截的软件、模块或者hosts文件,关了重启再试;还是不行,检查/data/data/com.xiaomi.xmsf/shared_prefs 路径下是否有push_message_ids.xml文件生成,没有的话手动新建一个,记得改一下权限与别的文件权限相同
  • 无法自动注册的,在推送服务里面点击相应应用的图标进行强制注册

2.2.2 注册成功

  • 在0.3.10+开始,【注册成功】这个词汇不再显示了 ,内测版已恢复 已注册 样式,但如果掉注册,并不会实时更新,还是更推荐以下2种方式
    1. 强制注册后有显示【已允许某应用注册推送】这种Toast就代表【注册成功】
    2. 前往【/data/data/应用包名/shared_prefs/mipush.xml】中查看是否有【regID】这个参数,如果有就是【注册成功】

2.2.3 强制注册

  • 具体操作
    MiPush Framework使用指南

  • 强制注册成功
    MiPush Framework使用指南

    • 如果出现上图情况,基本问题不大,强制停止一次该应用,再打开基本就注册成功了
    • 注册成功,能不能推是另外一回事(大部分能注册成功就能推送,除了一些奇葩的,比如:酷安、抖音)
    • 咸鱼为例(框出来的是应用包名,每个应用都不一样)
  • 强制注册失败
    如果出现下图情况
    MiPush Framework使用指南

    • Color系统的就没必要关注了,直接去推送服务里面看就行,根据我Color13使用来看,这个提示跟注册成功与否,没有半毛钱关系
    • 非Color系统,出现这个,大概率就是注册失败
  • 如果强制注册还是无法注册的,排查伪装方法及广告拦截、网络权限等

2.2.4 注册异常

  • 注册异常表示应用注册推送失败或者信息异常,遇到这种情况请按照下列顺序排查

  • 如果您曾经卸载过push服务或者清空过push数据

    • 您需要卸载并重新安装之前已经注册过的应用(比如微博,支付宝,淘宝之类的App)
    • 常见情况就是所有应用都显示注册异常
    • 所以请勿卸载重装PUSH
  • 部分应用特性导致注册异常

    • 比如酷安开启绿色纯净之后会导致注册异常
    • 部分应用(如百度地图)在设置中关闭推送,会导致注册异常
    • 部分应用(如云音乐)关闭后台运行权限后也会主动反注册,这种需要关闭相关优化
    • 还有情况就是真的只是误报,这种情况请忽略
  • 备份恢复过push数据

    • 如果rom重刷之后恢复之前数据可能是无效的
    • 如果有这种情况建议按照清空过push数据来处理
  • 有的应用显示异常但是可以收到推送

    • 目前出现在微博的情况比较多,暂时无视注册异常的标记
    • 这种情况暂时认为是误报,请忽略

3. 配置文件


3.1 配置文件使用介绍

PS1:该篇主要讲解怎么使用配置文件,不介绍配置文件怎么写,有兴趣学习的可以自行了解

PS2:部分说明仍然缺少,欢迎投稿

3.1.1 基础配置

PS1:基础配置由原来的一个拆分成了三个
PS2:不需要懂他是什么原理,直接三个全用就行
  1. 0_基础配置_工具.json
  2. 0_基础配置_开关.json
  3. 0_基础配置_消息样式相关.json

3.1.2 前置配置

  1. 1_前置配置.json

    • 使用任何1_前置配置_xxx都需要其配合其使用
  2. 1_前置配置_清除预设通知组-黑名单.json

    • 目前的作用是将单个应用的通知聚合成一组,本身聚合的可以不用管

3.1.3 后置配置

PS:后置配置由可以理解为全局配置
  1. 2_后置配置.json

    • PS:使用任何2_后置配置_xxx都需要其配合其使用
  2. 2_后置配置_自动提取意图.json

    • PS1:提取意图即从数据里面提取出 intentMiPush Framework使用指南
    • PS2:直观的效果是通知点击的处理逻辑不走推送服务,可以下拉小窗。
    • PS3:与直接打开意图相配合:【直接打开意图是让通知有可能通过小窗打开,自动提取意图是增加这个支持的范围】
  3. 2_后置配置_移除通知副标题.json

    • PS:如图MiPush Framework使用指南
  4. 2_后置配置_只显示一条消息-白名单.json

    • PS:添加入该白名单的应用,收到新消息时会覆盖旧消息,且不分联系人及消息类型,只显示最新一条消息。
  5. 2_后置配置_点击时清理会话通知组-白名单.json

    • PS:如QQ有3-4条MiPush消息,当点开QQ软件时,通知栏将清空QQ的消息
  6. 2_后置配置_收到消息后台唤醒应用-白名单.json

    • PS:收到消息的APP将拉起处理推送的服务
  7. 2_后置配置_消息样式为每条消息添加起始标识.json

    • PS:为每个消息的开头添加个-
  8. 2_后置配置_堆叠同一会话的所有通知-白名单.json

    • PS1:原MiPushFramework的按钮功能,新版改为配置文件实现功能
    • PS2:大意为:堆叠同一会话就是把人按一列排起来,成组就把列合成一组,不管列的人数是多少。分组就是明确哪些列合成一组,哪些列合成另一组。
  9. 2_后置配置_将透传消息作为通知显示-白名单.json

    • PS1:原MiPushFramework的按钮功能,新版改为配置文件实现功能
    • PS2:部分消息为透传消息MiPush Framework使用指南
  10. 2_后置配置_屏蔽运营消息-黑/白名单.json

    • PS1:运营消息一般为广告通知,在MiPush中有专门的通知渠道,该配置将会把所有运营消息渠道的通知全部拦截,即MiPush不通知运营消息渠道的消息
    • PS2:该配置属于全局拦截,有些APP例如抖音等,运营消息发送的是正常的消息,所以,自行斟酌使用黑/白名单MiPush Framework使用指南
  11. 2_后置配置_直接打开意图-黑/白名单.json

    • PS1:直接打开意图可以理解为使用小窗打开该APP
    • PS2:部分APP,例如闲鱼等,不使用该配置可能导致消息跳转白屏
    • PS3:与自动提取意图相配合:【直接打开意图是让通知有可能通过小窗打开,自动提取意图是增加这个支持的范围】
  12. 2_后置配置_将标题相同的通知视为同一会话-黑/白名单.json

    • PS1:按联系人分别显示最新一条消息(每个联系人或群组单独分组,不成堆,且只显示最新一条)
    • PS2:该配置属于全局配置,自行斟酌使用黑/白名单

3.1.4 应用配置

  1. QQ
    • PS:建议直接拉满
1. `com.tencent.mobileqq_QQ.json`
2. `com.tencent.mobileqq_QQ_MessagingStyle.json`
3. `com.tencent.mobileqq_QQ_分离消息样式的个人、群组会话.json`
4. `com.tencent.mobileqq_QQ_含“-”符号的群昵称提取首词作为群昵称.json`
5. `com.tencent.mobileqq_QQ_群头像支持(不装则显示具体群友头像).json`
  1. 飞书
1. `com.ss.android.lark_飞书.json`
2. `com.ss.android.lark_飞书_MessagingStyle.json`
  1. 招商银行
1. `cmb.pb_招商银行.json`
2. `cmb.pb_招商银行_卡号替换.json`
  1. 其他
1. `com.xingin.xhs_小红书.json`
2. `com.zhihu.android_知乎.json`
3. `com.taobao.idlefish_闲鱼.json`
4. `com.jingyao.easybike_哈啰.json`
5. `com.ss.android.ugc.aweme_抖音.json`
6. `com.alibaba.android.rimet_钉钉.json`

3.1.5 群友配置

1. `1_全局单个应用通知成组.json`
2. `com.sina.weibo_微博.json`
3. `com.jingdong.app.mall_京东.json`
4. `com.tencent.wework_企业微信.json`
5. `com.autonavi.minimap_高德地图.json`
6. `com.eg.android.AlipayGphone_支付宝.json`

3.2 配置文件说明

  • 原文:
    https://github.com/NihilityT/MiPushConfigurations
  • 配置文件可以做到以下事情:
    • 修改通知显示效果
    • 通知到来时唤醒屏幕
    • 通知到来时触发通知被点击效果(仅触发效果,未实际点击通知)
  1. 配置文件名
    配置名根据以下格式命名,共分为四个部分:

${package}_${appname}_${optional_function}-${exclusive_description}.json

不同部分的含义分别为:

  • 必填:${package},应用包名
    • 使用包名来区分配置针对的是什么应用
    • 特殊包名:
      • 0,基础配置,必需下载
      • 1,全局前置配置
      • 2,全局后置配置
  • 必填:${appname},应用名
    • 用于快速识别配置针对的是什么应用
  • 可选:${optional_function},功能名
    • 一个应用的配置可以由多份配置文件组成,使用不同的 ${optional_function} 来标识不同的能力
  • 可选:${exclusive_description},互斥能力描述
    • 配置中存在相同 ${optional_function} 时,说明这一组配置文件为互斥配置,只有一个配置生效,此时应只保留其中一个配置文件
    • 互斥示例(${optional_function} = 群消息整形):
      • com.tencent.mobileqq_QQ_群消息整形-群名标题前添加发送者.json
      • com.tencent.mobileqq_QQ_群消息整形-群名移动至 subtext.json
  1. 配置使用方式

    1. 设置配置目录,入口位于:推送服务 - 设置
    2. 下载所需配置放入该目录中
    3. (可选)若需自定义通知图标,可以在配置目录下创建icon文件夹,将AndroidNotifyIconAdapt仓库的json文件放入其中
  2. 配置类型
    配置共分为两类:

  • 主配置:具有实际包名的配置项(${package}_${appname}.json
{
  "version": "0.1.0",
  "configs": {
    "com.coolapk.market": [
      "大图标显示成圆形"
    ]
  }
}
  • 子配置:提供引用项被主配置引用(${package}_${appname}_${optional_function}-${exclusive_description}.json
{
  "version": "0.1.0",
  "configs": {
    "大图标显示成圆形": [
      {
        "newMetaInfo": {
          "extra": {
            "__mi_push_round_large_icon": ""
          }
        },
        "stop": false
      }
    ]
  }
}
  1. 配置执行流程
    弹出通知时,通过会经过配置进行整行或忽略,执行流程如下:
    • 执行 ^ 配置(1_${appname}.json
    • 执行应用配置,如 com.coolapk.marketcom.coolapk.market_酷安.json
    • 执行 $ 配置(2_${appname}.json

在配置执行过程中,若遇到一个匹配成功的配置,其配置中未定义 "stop": false,则整个流程结束

4. 通知


4.1 通知图标

4.1.1 自定义通知图标

  • 对MIUI_CN和Flyme无作用
    1. 安装推送服务最新版
    2. 在配置目录下面创一个icon文件夹,把图标.json放进去;
    3. 图标下载:GitHub下载云盘下载
    4. 强行停止推送服务

4.1.2 MIUI通知图标

  • 由于部分用户总是不自己研究,故,不在提供方法,请自行探索

隐藏内容,输入密码后查看

4.2 通知展示

4.2.1 通知为什么没有头像

  • 没有相应参数的时候就是用首字作为头像

4.2.2 为什么我没有推送服务几个字

MiPush Framework使用指南

  • 没用MiPush模块勾选系统框架且能推送才这么显示

4.2.3 如何关闭-推送服务运行中

  • 进入推送服务的系统通知设置界面,关闭status组通知,强行停止推送服务
    MiPush Framework使用指南

4.2.4 通知渠道

  • 只有推送过相关消息才有,不是注册完就有了,下图QQ为例
    MiPush Framework使用指南

4.2.5 铃声/悬浮通知

  • 怎么开启悬浮通知(QQ群聊消息为例)
    MiPush Framework使用指南

  • 操作方法
    MiPush Framework使用指南

4.2.6 无法收到推送(推送服务)

  • 如果您无法收到任何推送,请按以下方法排查:
    1. 推送服务是否在后台运行(使用进程软件查看主进程是否活)
    2. 是否给推送服务自启动权限
    3. 事件页中是否有应用注册和收到通知的记录
    4. 请不要对推送服务进行优化,包括电池优化、MyAndroidTools、绿色守护、黑域 等优化措施,请确保推送服务未优化或在白名单中
    5. (最新版已解决adgh及代理问题)如果您的设备启用了代理工具,请设置绕行推送服务,对推送服务启用代理可能会无法收到推送
    6. 查看你推送服务的APPOPS权限中,ACCESS RESTRICTED SETTINGS 是否处于禁用状态或使用期间被禁用,如果是请更改为允许状态
      • 你可以使用【爱玩机工具箱】/【APPOPS】或其他可以查看并更改该权限的应用来对他进行查看/更改
        MiPush Framework使用指南

4.2.7 丢失的不重要通知栏

  • 缘由:

    • 经过某些不知名的神奇操作后,可能会丢失不重要通知栏
  • 起因:

    1. MIUI会折叠一些推送消息,归类为不重要通知
    2. 但是根据缘由来看,消息就 ≈ 无了
    3. 所以要全部设置通知为重要
      MiPush Framework使用指南
  • 操作:

    1. 通知过滤规则设成重要
      • 否则有推送消息记录,通知栏因缘由被吞
      • 把不重要消息的收纳栏显示出来了
        • 如果默认还不出现在通知栏。去MIUI原生通知图标那可以开启收纳栏
          MiPush Framework使用指南

4.2.8. 如何解决QQ只显示最新一条消息

  • 注意:下面两种办法不要同时使用,可能会有bug
    1. 推荐配置文件
    2. 不推荐堆叠开关
      • 在推送服务里面设置QQ堆叠(新版已将开关改为配置文件)
        MiPush Framework使用指南

4.2.9 通知上的按钮

  • 如果遇到下图中类似的按钮,且不喜欢的,请换用release版本
  • 推送服务v0.3.9+,该功能做成开关了,默认关闭的
    MiPush Framework使用指南
    MiPush Framework使用指南

4.3.10. 通知数量

  • 每个 APP 的通知同时显示数量是有上限的,可能是50,可能是24。
  • 开了会话堆叠后,消息显示数量可能会暴涨,可能会导致推送服务在发出 50/24 条消息后再也发不出消息
  • 因此没有经常看消息清消息的习惯的话,需要斟酌一下这个功能要不要使用。
  • 注:MIUI 无此限制,会自动清理旧通知。

4.3.11. 运营消息(广告)过滤

  • 根据后置配置中的 屏蔽运营消息.json 来使用

5. 冲突问题与权限设置


5.1 冲突问题

5.1.1 升级系统掉注册

  • 仅MIUI更新系统会掉推送服务的注册
    • 原因:由于MIUI系统自带米推,更新系统时候需要关闭精简,所以注册文件大概率会被恢复成官方的导致掉注册
  • 其他系统没有影响
    PS:使用VCD=1003003000版,在更新时可能会被恢复成官方版,
    但重新安装后,数据依然在,不会跟精简模式一样会丢失数据

5.1.2 通知类软件

  1. 目前已知,通知滤盒的ai功能会吃部分mipush消息,例如支付宝,酷安等
    • 解决办法,关闭ai过滤即可,该问题已反馈给滤盒作者,并未回复,建议用通知滤盒的都去反馈下

5.2 权限设置

5.2.1 修改设置

MiPush Framework使用指南

  • 该目录里面的所有开关,无特殊需求,默认即可,无需开关 新版已经全部改为后置配置`
  • 如果非要开关,除非你明白它的含义 能看懂配置文件的作用即可

5.2.2 点击 配置目录 出现闪弹

  • 排查1:是不是把文件这个应用冻结或精简了,是的,请恢复
  • 排查2:是不是把外部存储设备这个应用冻结或精简了,是的,请恢复

5.2.3 电池优化

  • 可以考虑是否用了接管电池白名单的软件或模块
  • 如果使用的是NoActive
    • 3.0以前
      1. 推送服务:用户应用
        • 请将推送服务的白名单开关打开
      2. 推送服务:系统应用
        • 请将com.xiaomi.xmsf添加到/data/system/NoActive/whiteApp.conf名单里面
    • 3.0以后
      1. 推送服务:用户应用
        • 请将推送服务的白名单开关打开
      2. 推送服务:系统应用
        • 直接默认白名单

5.2.4 权限问题

  • 关于终端

    1. Termux终端:官网
    2. MT管理器:官网
  • 冰箱解冻失败失败:

    1. 检查推送服务的高级配置是否打开了冰箱解冻支持的开关;
    2. 检查是否把冰箱加入了墓碑冻结名单;
    3. 前两项无问题,重新打开冰箱解冻支持的开关;
    4. 还是无法赋权,可尝试手动赋权,命令:
      pm grant com.xiaomi.xmsf com.catchingnow.icebox.SDK
  • 无法拉起QQ电话:

    1. 给推送服务显示在其他应用上层的权限;
    2. 加载配置文件。
  • 安卓13卡使用情况权限界面。

    1. 打开终端,输入su回车
      • 授予使用情况访问权限
        appops set com.xiaomi.xmsf android:get_usage_stats allow
      • 授予显示在其他应用上层权限
        appops set com.xiaomi.xmsf SYSTEM_ALERT_WINDOW allow
  • 推送服务双开
    :PS:指令仅在MIUI上通过测试

    1. 打开终端,输入su回车
      • 授予使用情况访问权限
        appops set --user 999 com.xiaomi.xmsf android:get_usage_stats allow
      • 授予显示在其他应用上层权限
        appops set --user 999 com.xiaomi.xmsf SYSTEM_ALERT_WINDOW allow

6. 名词解释


6.1 什么是分应用?

  1. 模块的名字为:MiPush
  2. 可以以应用身份发出通知,而不是以推送服务的身份
    • 好处:以目标应用身份来通知,像应用本身发出的
  3. 该应用为XP模块,需勾选系统框架重启才能进行分应用通知
  4. 此外,MiPush也有【伪装】的作用

6.2 什么是透传消息?

  • 直接发送给APP的消息,不会在通知栏显示
  • 补充:小米推送已于2022年9月12日0点起,针对非 MIUI 官方应用,停止提供透传消息下发的服务详情

6.3 关于精简

  • MiPush Framework最初是为了非MIUI也能享受到MIUI的推送服务,为了实现功能,和官方小米服务框架包名相同
  • MIUI是自带小米推送的,如果为了通知自定义使用这个第三方的MiPush,需要先使用模块精简原有的小米服务框架
  • 使用Delta版面具,请不要开强制使用超级用户列表,会导致精简模块失效

6.4 关于新版本

  • 0.3.10开始,推送服务进行分包,【versionCode=1003003000】【 versionCode=105】两种
    1. 推荐将【推送服务】安装为系统应用,拥有系统应用身份能让所有应用检测到推送服务(所有系统上)
      • 在MIUI上,优先推荐【核心破解安装】,安装完成后是【系统应用】,不需要使用精简,当然,你也可以使用精简方案
      • 在Color上,优先推荐使用【versionCode=105】
    2. 如果使用versionCode=1003003000后,若注册总是注册没反应,请使用versionCode=105的版本
    3. 在0.3.10+开始,【注册成功】这个词汇不再显示

6.5 关于版本号

  • 因为:版本号会跟随语义化版本号定义:https://semver.org/
  • 所以:你会看到推送服务的版本号【versionCode=1003003000】跟【versionCode=105】的版本号不太一样

7. FAQ


7.0 推送服务不推送部分解决方法

7.1 常用应用问题解决

7.1.1 QQ

7.1.1.1 QQ注册

  • 云盘下载
    1. 安装MiPush、推送通知
    2. 前往LSPosed中,勾选推荐作用域、QQ
    3. 重启手机
    4. 打开推送通知,查看QQ是使用系统推送,但尚未注册,还是注册失败
      • 使用系统推送,但尚未注册
        • 前往LSPosed中,取消勾选QQ,接着重启QQ,再勾选QQ重启QQ,这时再看QQ是什么注册情况,如果依旧尚未注册,可以尝试重启手机,再重复一次此操作
        • 若一直为尚未注册,可以试试强制注册
        • 则尝试使用MiPushDeviceFake或MiPushfaker,倘若变成注册失败,请看下面
      • 注册失败
        MiPush Framework使用指南

7.1.1.2 QQ注册-不推送

  • 注册成功后,需要重启注册应用,切记
    1. 每次使用完QQ后,【强制停止】QQ
    2. 使用冰箱,将QQ冻结
    3. 使用墓碑,来迫使QQ走推送通道
      • 如果使用墓碑后QQ推送,仍不走MiPush,可以使用Thanox或者Scene来配合
        1. 使用Thanox情景模式中Process trim(可从Thanox的示例中导入),然后添加全局变量:process_trim_list,并添加QQ的推送服务MSF,如图所示
          MiPush Framework使用指南
        2. 使用Scene的应用偏见,直接选择QQ即可

7.1.1.3 QQ无法接通QQ推送电话

  • 能收到正常推送消息,但收不到QQ推送电话的消息

    • QQ版本问题,建议换8.9.18版本,测试推送后再覆盖安装回别的版本也能保持QQ电话推送)
  • 能收到QQ电话推送,但是拉不起QQ;

    1. 需排查是否加载了配置,如果成功加载了配置文件
    2. 再排除是否给推送服务显示在其他应用上层的权限,如果无法给权限,终端命令赋权:
      su
      appops set com.xiaomi.xmsf SYSTEM_ALERT_WINDOW allow
    3. 还有处于miui的QQ分身界面,有电话推送时也不会拉到QQ主应用
    4. 位于QQ分身界面,也不会拉起主应用QQ
  • 收到QQ电话推送且能拉起QQ,但是不能接通

    1. 排查是否杀了QQ的msf进程,这个影响接通速度
    2. 排查QQ的冷启动速度,QQ刚安装,没编译完成,冷启动太慢也会影响接通,解决办法就是手动给QQ编译,无法手动编译就杀死打开QQ多重复几轮,QQ就被系统编译了
    3. 排查是否登着电脑QQ(电脑版tim不影响),这个会导致QQ无法接通
  • 亮屏时能拉起QQ电话和接通电话,但是息屏状态时,能点亮屏幕且拉起QQ,但是无法弹出QQ电话那个界面

    • justpush模块的影响,关掉重启就可以了。

7.1.4 QQ下载

  • QQ下载的文件一般位于/storage/emulated/0/Android/data/ com.tencent.mobileqq/Tencent/QQfile_recv/
  • 非root的情况可以通过保存副本复制一份到下载目录
  • root也可以用QAuxiliary或者其他重定向至下载目录。

7.1.2 酷安

7.1.2.1 酷安注册-不推送

  • 云盘下载

  • MIUI

    1. 卸载酷安,安装官方酷安12.4.2版
    2. 先不要启动酷安
    3. 对酷安隐藏root后再启动酷安进行注册推送和登录帐号
  • 非MIUI(方法1)

    1. 卸载酷安,安装官方酷安12.4.2版
    2. 先不要启动酷安
    3. 安装MiPushDeviceFake和mipush模块,两个模块都勾上酷安来进行伪装,然后再打开酷安进行注册登录
  • 非MIUI(方法2)

    1. 卸载当前酷安,安装13.0.1内置MiPushDeviceFake版的酷安
    2. 先不要启动酷安
    3. 安装MiPush模块,模块勾选酷安。
    4. 然后再打开推送服务来强制注册
    • Tip1:酷安注册很容易,难就难在注册成功不推送,所以,使用内置版的13.0.1酷安注册成功后,【强制停止】酷安,测试推送,如果刚注册完,【强制停止】推送没用,重启手机并打开酷安,再次测试
    • Tip2:如果不行,也对酷安隐藏root后再启动酷安进行注册推送
    • Tip3:(需要ROOT)如果你推送没有问题了,且不喜欢修改的酷安,可以通过核心破解并打开图中功能,进行酷安版本切换
      MiPush Framework使用指南

7.1.3 抖音

7.1.3 .1 抖音注册-推送

  • 方法由群友wyj809提出
  • 使用MiPush模块对抖音进行伪装,抖音使用小米商店的版本(下载办法:查看
  • 一般当天注册成功,第二天就可以推送了
  • 注意:字节系软件,现在如果是通过 修补 的方法来实现伪装,可能会导致无法登陆等一系列问题

7.2 常见问题

7.2.1 安装及配置相关问题-ROOT

Q1:【核心破解-安装时始终使用已装APP的签名】该功能一定得开启吗?

  • A1:
    1. 该功能仅在MIUI系统下安装 VCD=1003003000 时才需要开启,若使用 VCD=105 的时候,无需使用此功能
    2. 由于此功能过于危险,故安装完推送服务后,请关闭该功能

Q2:如果安装了VCD=1003003000版还需要刷精简模块吗?

  • A2:
    1. 无需刷入精简模块,此方案与精简方案是相互冲突的2种方案
    2. 安装 VCD=1003003000 成功后,推送服务将为系统应用

7.2.2 安装及配置相关问题-免ROOT

Q1:卸载更新是什么东西

  • A1:
    1. 卸载更新指的是小米服务框架更新过,把更新卸载掉,用系统自带的应用管理来卸载更新,如果没有更新过,没有卸载更新这个按钮就不需要进行这个操作
    2. 不要用 Scene爱玩机工具箱 之类的工具 卸载小米服务框架,那只是假卸载
    3. 爱玩机工具箱精简功能 可以代替 第2步 中的刷精简模块

Q2:如何使用LSPatch?

7.2.3 注册相关问题

Q1:如果应用死活注册不上该怎么办?

  • A1:请查看自己是否使用 隐藏应用列表 这个模块并勾选了推送服务,使推送服务隐藏起来,导致无法注册

7.2.4 配置文件相关问题

Q1:黑白名单是什么?

  • A1:
    1. 同种配置的黑白名单只用一个
    2. 白名单只对 写包名的生效黑名单写包名不生效

Q2:使用配置文件后没有会话通知?

  • A2:如果使用配置文件后,会话消息无法通知的话,打开相应软件的添加桌面快捷方式的权限试试
    MiPush Framework使用指南

Q3:为什么配置文件里面包名不可以用 |其他字符 进行连接?

  • A3:那样的话就会出现下面2种情况时就不知道应用顺序了,会有问题
    1. "a|b|c": { 忽略所有消息 }
    2. "a": { 弹出通话消息 }

Q4:别人的配置文件能实现的功能,为什么自己不能实现的?

  • A4:
    1. 请更新相应的配置文件(包括基础配置)
    2. 推送服务和MiPush模块也需要更新到最新内测(查看)

7.2.5 双开推送服务相关问题

Q1:双开推送服务

  • A1-1:关掉双开推送服务的正在运行中的通知可以用《固定隐藏通知》这个软件
  • A1-2:如果想要把双开的推送服务也关了,就用命令来关:
    su
    pm disable --user 999 com.xiaomi.xmsf
  • A1-3:如果已经不用双开应用了,直接去设置里把双开账户删除重启就行了

7.2.6 通知问题

Q1:为什么我的通知长这样,为什么我的通知???

Q2:为什么我的QQ会有两次相同的通知

  • A2:因为一个是MiPush的通知,一个是QQ自己的通知,QQ被拉起时,有时会再次发送一遍通知,目前没有方法解决,除非你直接关闭QQ自己的推送渠道
THE ENDT
喜欢就请关注我吧!
打赏 分享