原生安卓使用小米/华为 PUSH 推送服务

虽然安卓类原生系统纯净简洁快速,但是 PUSH 推送服务是个问题,也就是消息推送,你必须把应用一直挂在后台,但是这样会占用大量运存和缩短续航。

众所周知的原因谷歌 FCM 推送服务无法使用,而其它手机厂商也基本都有自家的推送服务,并且大多数主流的应用也都有接入推送支持。那么问题来了,安卓类原生系统如何解决推送服务问题?

第三方MiPush

小米 MiPush 消息推送服务国内主流应用基本都支持了,但是小米官方是没有单独提供 MiPush 服务应用。

不过有开发者制作了第三方应用 「MiPushFramework」可以实现在非小米手机上实现系统级消息推送。

使用「MiPushFramework」需要先刷入 Magisk 或者 Lsposed 框架,然后下载MiPushFramework、MiPushEnhancement、以及更改机型模块。以下的教程来源酷安大佬 @Fengkao。

下载地址

  • MiPushFramework:
    https://github.com/MiPushFramework/MiPushFramework/releases/tag/0.3.6.20181227.9284e39
  • MiPushEnhancement:
    https://github.com/MiPushFramework/MiPushEnhancement/releases/tag/1.2
  • 修改机型:
    https://www.123pan.com/s/c8zA-PpLN3
  • 源文地址:
    https://www.coolapk.com/feed/37860113

1.安装 manager.apk 和 xmsf_service.apk 后打开桌面新出现的"小米推送服务",根据提示取消电池优化和打开状态权限,然后打开设置里面的全局伪装为小米设备选项。

20230113

2.安装 MiPushEnhancement 后打开 Lsposed,勾选你想用 MiPush 推送的应用,例如:QQ。需要注意的是,应用必须接入 MiPush 支持了。

20230113-1

3.然后安装修改机型模块,将机型修改为任意小米机型,重启手机。以上操作完成后,打开 QQ,不出意外的话会出现 "已允许QQ注册小米推送" 通知,打开 "小米推送服务" 后 QQ 的注册状态会变为 "已注册"。

20230113-1

4.如果 "小米推送框架"内还是显示为"未生效"?解决方法:切换一次工作模式并随便选取一个应用后重新启动该软件即可生效。

如果 QQ 显示 或者其它应用 “注册异常” ?解决方法:尝试清除应用数据后重新登录即可。

华为PUSH

除了小米 MiPush 消息推送还可以选择华为的 PUSH 推送服务,同样常用的应用基本都接入支持了。

至于小米和华为两个服务哪个好用,根据网友的测试「HMSPush」效果更好些,毕竟华为有提供 HMS Core 下载,而第三方的「MiPushFramework」是三年前的应用,至今作者也没更新了。

使用「HMSPush」同样需要先刷入 Magisk 或者 Lsposed 框架,然后安装 HMS Core 应用。以下的教程来源酷安大佬 @CrossCompile。

下载地址

  • HMS Core:
    https://appgallery.huawei.com/app/C10132067
  • HMSPush:
    https://github.com/fei-ke/HMSPush/releases/latest
  • 源文地址:
    https://www.coolapk.com/feed/40970918

1.安装 HMS Core 并保证 HMS Core 在后台运行,最好将其转化成系统应用。

2.在 LSPosed 中启用「HMSPush」模块,并勾选系统框、HMS Core 作用域,然后重启设备

20230113

3、LSPosed 里 「HMSPush」模块里勾选你需要支持推送的目标应用(这一步目的是将应用环境伪装成华为设备),然后重启一到两次目标应用使其注册上推送通道。

20230113-2

4.杀掉应用测试推送是否生效(可以使用QQ测试)。

20230113-3

5.使用 Thanox 精简 HMS Core 实现最小的后台占用,仅70M!!!一定要精简,不然要设置以及部分银行app要闪退。

打开 Thanox 找到 HMS Core 进程,然后根据如下图:

20230113-4

20230113-5

20230113-6

下滑到最下面的管理位置(活动管理、广播接收器管理、服务管理、内容提供者管理)。

20230113-7

这里以活动管理为例:

20230113-8

20230113-7

先点“全不”把所有的服务都禁用,然后点搜索,搜索下面给出的服务,将我们需要的服务打开。

20230113-9

活动管理仅开启

  • JumpActivity (注册)
  • PushEarthquakeActivity (点击拉起应用)
  • TileLongClickJumperActivity (消息弹出)

广播接收器仅开启两项

  • OobeOnBootBroadcastReceiver
  • HMSOnBootBroadcastReceiver

服务管理仅开启

  • HMSCoreService (核心服务)
  • HMSInnerService (保证推送稳定)
  • OpenDeviceIdentifierBindService (推送自启)
  • OobeService (推送自启)
  • HMSStubKitUpdateJobService

内容提供者仅开启

  • HMSFrameworkProvider
  • KitProcessAgentCoreProvider
  • ModuleQueryProvider
  • HmsSettingSearchProvider
  • UpdateSettingProvider

总结

安卓手机费电的原因之一就是没有 PUSH 推送,必须把应用常驻后台,现在通过小米/华为 PUSH 推送服务,可以实现大多数国产应用的消息推送,如果你正在用类原生系统,或者不满意现在手机自带的推送服务,也可以折腾试试看效果。