V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
TNOK
V2EX  ›  Android

安卓的微信来消息是怎么推送的?

  •  
  •   TNOK · 31 天前 · 6101 次点击
    有朋友问我安卓微信消息延迟怎么办,我不太了解,之前似乎看到微信在安卓上没有接入任何一家的 push ,后台不保活的情况是怎么推送消息的?
    52 条回复    2025-02-21 22:13:16 +08:00
    derdct
        1
    derdct  
       31 天前
    有谷歌的残废 FCM, 国产手机微信都是后台白名单 (
    TNOK
        2
    TNOK  
    OP
       31 天前
    @derdct 白名单是指后台不杀死或者不完全杀死?
    kk2syc
        3
    kk2syc  
       31 天前
    @TNOK 白名单就是厂家内置,后台不杀死不清除微信服务
    TNOK
        4
    TNOK  
    OP
       31 天前
    @kk2syc 感谢回答
    dilu
        5
    dilu  
       31 天前
    “后台不保活的情况是怎么推送消息” ❌
    “怎么在不然用户知道的情况下保活” ✅

    我记得有个骚操作,利用悬浮在其他 app 之上的权限,显示一个像素点,这样用户看不到任何东西,但是你的 app 不会被杀掉,因为系统认为你的 app 并没有退出。

    微信不是后台不保活,那是往死了保活啊,甚至在那个 root 刷机很普遍的年代,都要装一些特别深度的 xposed 插件才能彻底干掉微信的后台,普通杀进程的软件都干不掉的,哪怕有 root 权限也干不掉。

    不过具体技术细节我不太清楚,应该是跟手机厂商有 py 直接加的白名单。或者没有 py 手机厂商也得加白,毕竟以微信的体量你不加白,用户买了你的手机后经常收不到微信消息,你觉得用户会怪手机还是怪微信?
    chiaf
        6
    chiaf  
       31 天前
    @dilu 不是吧,当初小米 2s 的微信,不留微信在后台根本收不到推送消息,后面换了苹果才知道,不用留在后台也是能收到推送通知。
    dilu
        7
    dilu  
       31 天前
    @chiaf 你说的时代太古早了点吧,那会的微信我不太清楚,我有印象大概是小米 6 前后的时代
    gunner168
        8
    gunner168  
       31 天前
    国产厂商出厂默认微信白名单,你前台杀死了其实后台还在运行,如果手动去掉白名单,这样不挂后台是完全收不到推送的
    twoz
        9
    twoz  
       30 天前 via Android
    国产微信自启动权限关了接收不到推送了
    lscho
        10
    lscho  
       30 天前 via iPhone
    厂家开后门,默认微信后台保活。。。如果强制杀掉,真收不到
    someonesnone
        11
    someonesnone  
       30 天前
    国内安卓都是假杀微信, 后台完全保活的,只有进设置进应用选杀掉才能杀
    vcn8yjOogEL
        12
    vcn8yjOogEL  
       30 天前   ❤️ 1
    微信会自己留一个后台推送服务
    实际占用很低, 因此原生系统一般不会动它
    OEM 系统喜欢滥杀, 但国行都会加白名单

    如果用外国 IP 登录微信会使用谷歌 FCM 推送
    iyaozhen
        13
    iyaozhen  
       30 天前
    后台不保活的情况是怎么推送消息的 你认知错了
    会保活,而且手机厂商还会加白,不杀微信

    微信这种国民 app ,你收不到消息,别人能收到,你说用户是骂手机还是骂微信。因此你朋友这个问题,应该换个国产手机
    obeykarma
        14
    obeykarma  
       30 天前
    所以最可怕的是如果有一天微信作恶

    所有国产安卓用户的微信就成了定位器、窃听器等等

    因为保活机制,甚至可以在后台偷偷录音、上传设备内照片、文件等
    humxman
        15
    humxman  
       30 天前
    有个小米 13 红米 70PRO 刚自测,微信的自启动关了过后杀掉进程其实是收不到推送的,应该和使用的 OS 有关吧。
    建议你的朋友把与推送有关的系统服务升级下。
    SenLief
        16
    SenLief  
       30 天前
    国内厂商会把微信加入到电池白名单,其实现在安卓用旗舰的话没必要在意是不是后台了,我现在基本上 app 都后台,几天都不会掉,内存那么大,电池那么大,不用都浪费。
    docx
        17
    docx  
       30 天前 via iPhone
    你不保活,操作系统会帮你保活,应用自身也会想办法保活
    HK560
        18
    HK560  
       30 天前
    微信倒没啥事,但我钉钉这个经常延迟没消息;得重新打开应用才行;锁后台+自动启动+关闭省电都不行
    darkengine
        19
    darkengine  
       30 天前   ❤️ 1
    当你成了事实上的老大之后,大家都要配合你。

    在手机厂待过,用户微信收不到推送,会给厂家提反馈说人家 x 米息屏能收到推送,你这破手机怎么不行?

    没办法,给微信开后台白名单吧。
    bruce0
        20
    bruce0  
       30 天前
    @chiaf #6 很早的时候是这样, 我记得 14 年左右,那时候我还是主要用 QQ, 当时的手机是荣耀 6, 微信直接从任务管理里杀掉就可以, 然后微信就收不到消息了
    summerpxy
        21
    summerpxy  
       30 天前
    com.tencent.mm:push,刚开机就有这个进程,你说 ROM 厂商会不会加白名单
    c9c2ane
        22
    c9c2ane  
       30 天前
    所以如果常用 Outlook 、Teams 这种软件,杀掉后台就收不到消息了?
    syubo2810
        23
    syubo2810  
       30 天前
    推送能成功那必然有个推送程序在运行,微信的策略很简单,开始时候是花钱让厂家开保活白名单,后来做大直接就是厂家不保活都不行,不然用户会说是系统有 bug ,国外是有系统级的推送服务在后台一直跑,各个 app 接入就行,国内因为大家都知道的原因用不了,所以各显神通导致安卓续航尿崩,也就现在慢慢各个手机厂商都搞统一推送才慢慢好起来了
    nanpu
        24
    nanpu  
       30 天前
    我的小米 13 微信经常消息延迟两分钟,有时候连着手机蓝牙的华为手表微信的消息提醒来了 手机微信还没提醒
    cc666
        25
    cc666  
       30 天前   ❤️ 1
    冷知识:hardcoder https://github.com/Tencent/Hardcoder 微信不止是白名单,还可以调度手机硬件,行业老大,没办法
    duanxianze
        26
    duanxianze  
       30 天前
    微信事实上就是毒瘤,卸载微信你会发现手机续航上升一大截
    junas7
        27
    junas7  
       30 天前 via Android
    毒瘤,24 小时后台运行
    cslive
        28
    cslive  
       30 天前
    国行手机微信都是在白名单内,苹果也单独开后门
    ColdBird
        29
    ColdBird  
       30 天前
    你足够牛逼就能跟手机厂商协商给你白名单不用保活直接不杀进程
    wanwaneryide
        30
    wanwaneryide  
       30 天前
    @obeykarma 按照你这个逻辑,手机厂家都是潜在的大雷
    Huelse
        31
    Huelse  
       30 天前
    @obeykarma 这个还是 OEM 厂商更容易做到,软件做太容易被抓包了
    zhwguest
        32
    zhwguest  
       30 天前
    #12 开后门是白名单,遵顼规则是滥杀,精妙~
    mxalbert1996
        33
    mxalbert1996  
       30 天前 via Android
    @dilu
    并不是。我在用 Pixel ,没有白名单但也不会激进的杀后台,微信消息有时候会延迟。
    Chicagoake
        34
    Chicagoake  
       30 天前
    没有接入推送(如 Apple ,鸿蒙,FCM )等推送服务的话,是软件通过开发商的服务器来推送,比如微信就通过腾讯的服务器;如果接入了系统推送,则将消息发送至系统方的服务器,再由系统方服务器推送至对方设备。安卓设备对微信等即时消息应用保活策略优先级非常高,即便是三星也对微信有专门保活,以前用安卓没后台真是收不了消息。
    HangoX
        35
    HangoX  
       30 天前
    @cc666 不只是微信,其实其他应用都可以的,oppo 公开了这个 api ,我们其实也有适配。微信其实还是不错的,做了个东西之后会倒退厂家公开

    @cslive 苹果不在,每次拍照之后大概率微信都要重新打开

    微信在国内不是白名单,但是体验也不错
    HangoX
        36
    HangoX  
       30 天前
    @HangoX 发现打错了 ,微信在国内就是白名单,但是体验也不错。
    如果微信走厂商推送的话,大概率所有手机都需要打开微信后等半天接收信息,这个体验和苹果是一样的。当然微信能不能倒推厂商出新的 API 这是另外一回事了。
    hubaq
        37
    hubaq  
       30 天前   ❤️ 1
    按微信这个体量,每家都接 push,手机厂商额外的 push 服务器支出都得增加不少
    JKeita
        38
    JKeita  
       30 天前
    你说的后台划掉其实并没有,进入开发者模式后台运行服务微信基本都有在运行。
    lzkk4
        39
    lzkk4  
       30 天前
    我的方法是用一个 4 核 2g 的旧手机专门跑微信和消息转发两个应用,消息由腾讯-旧手机-钉钉/飞书服务器-小米服务器-手机。走 mipush
    XXWHCA
        40
    XXWHCA  
       30 天前
    推送全靠厂商推送通道,推送服务是常驻在手机系统的,所有的软件消息都通过这个服务来接收,比如谷歌服务,华为,小米,oppo ,vivo 等每家厂商都有自己的推送通道。微信也接了各家的推送 sdk ,微信服务器将消息推送给厂商推送服务器,然后厂商将消息推送到设备的消息服务。
    obeykarma
        41
    obeykarma  
       30 天前
    @wanwaneryide 不否认手机厂商本就是大雷
    毕竟某个品牌到现在也洗不干净自己的监控意向
    grady8866
        42
    grady8866  
       30 天前
    @XXWHCA 微信没有接入吧,QQ 有接入 huaweipush, mipush, vivopush 等
    win8en
        43
    win8en  
       29 天前
    @lscho #10 对,详情页强制停止就收不到
    win8en
        44
    win8en  
       29 天前
    @c9c2ane #22 Outlook 被称为 fcm 保活利器
    hwb
        45
    hwb  
       29 天前
    @dilu 现在不行了
    JensenQian
        46
    JensenQian  
       29 天前   ❤️ 1
    足够牛逼的话厂商给你开后门

    苹果之前还专门给微信整呢
    你可以搜下
    关键词
    /* WeChat references this, only god knows why. This symbol does nothing. */
    maxmax4max
        47
    maxmax4max  
       29 天前
    @syubo2810 国内哪有统一推送,都是走的厂商推送分别适配
    cxsz
        48
    cxsz  
       29 天前
    @TNOK #2 昨天刚入手一加 Ace5 ,微信装完就默认锁后台,除非手动杀掉进程
    syubo2810
        49
    syubo2810  
       29 天前
    @maxmax4max 我说的就是每个手机厂商自己是统一的,以前这个都没
    INCerry
        50
    INCerry  
       29 天前
    微信是后台保活,至于推送,以前那个统一推送联盟就是做这个事情的,现在连官网都没了
    LPJD
        51
    LPJD  
       28 天前
    手机厂家特意给开的微信后台保活。之前买了一个联想的摩托罗拉,微信没有保活,杀掉后完全没有消息推送。然后被投诉到受不了,就安排微信强制保活
    TNOK
        52
    TNOK  
    OP
       27 天前
    看完回复,岂不是所有没接入推送的都要在后台才能有消息提醒。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2755 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 13:15 · PVG 21:15 · LAX 06:15 · JFK 09:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.