Giter Club home page Giter Club logo

fcmfix's Introduction

fcmfix(Android 10以上13以下 )(Android 14?)

使用xposed让被完全停止的应用响应fcm,让fcm送达率达到100%,不错过任何通知 .

Android CI

  • 允许fcm唤醒选中的应用来发送通知
  • 解除miui12对后台应用的通知限制(非miui系统没影响)(仅作用于在fcmfix中选中的应用)
  • 修复在国内网络下出现重连服务出现负数问题(貌似是miui优化的问题)
  • 固定心跳间隔(默认不开启,更改需要编辑配置文件/data/data/com.google.android.gms/shared_prefs/fcmfix_config.xml中的heartbeatInterval项,最小值为1000,1000==1s)
  • 国内版miui电量和性能伪装为国际版,防止锁屏fcm断线
  • 阻止应用关闭时清除通知
  • 在miui12和miui13上自动赋予目标应用自启动权限

已知问题

  • Android 14可能支持了
  • 除miui12和miui13,HyperOS(?)和原生系统外,要在fcmfix中勾选和在系统设置中给予类似允许自启动的权限

其他

这个模块并不是为了让不能使用fcm的机器使用fcm,而是在能正常使用fcm的机器上进行改造。
fcm的工作原理是通过公用系统级长链接来节省各个应用分别在后台维持长链接所消耗的资源。
有了fcm,应用只需要占用一点内存静驻在后台即可接收推送,而不需要自己维持长链接。
但是fcm本身只负责把远端消息通知给APP,但不会通知到用户,发送通知是应用接收到fcm后自己完成的。
换句话说,应用没有在后台有存活的话,即使有fcm,也是不能收到通知的,这种情况下日志就会出现Failed to broadcast to stopped app
fcmfix的主要目的就是为了让即使不在后台的app也能顺利接收发送通知,不会出现Failed to broadcast to stopped app
心跳修复以及反miui屏蔽后台应用通知都是附加产物。

微信走fcm可能意义不大:

  • 不使用fcmfix的情况,无微信后台的时候就像上面说的,有fcm也不会收到消息,有微信后台的时候会走微信自己的长链接,虽然日志也能看到fcm调用成功。
  • 使用fcmfix的情况,看接收消息的频率,要是经常收到消息反复启动微信反而耗电。要是偶尔才有消息的话微信+fcmfix才是一个好的选择。

Lsposed

  • 唤醒应用和解除miui通知限制需要勾选安卓系统作用(不需要勾选目标应用)
  • fcm心跳修复和负数重连问题功能需要勾选com.google.android.gms

SafetyNet 和 Widevine DRM等级

这个模块一般不会影响这两个检测,我的安卓11、miui12.5、magisk hide勾选gms、lsposed
安装了fcmfix之后能够通过SafetyNet检测且Widevine DRM等级为L1。
SafetyNet不通过请检查有没有科学上网

可能出现的问题

1、重启之后配置文件被复原

一般是你用了mt管理器那个编辑器的问题,可以尝试修改完后删除那个.bak后缀的文件,或者在设置中关闭生成bak文件,或者换一个编辑器 https://play.google.com/store/apps/details?id=in.mfile

2、遇到国内版锁屏后连接自动断开的问题请

请用0.4.7或以上版本

fcmfix's People

Contributors

kooritea avatar nelwang avatar tigerbeanst avatar neoncloud avatar gswxxn avatar shellwen avatar j2rong4cn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.