统一推送对即时通讯软件并不友好 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wsseo
V2EX    Android

统一推送对即时通讯软件并不友好

  •  
  •   wsseo 2020-09-11 13:30:53 +08:00 18551 次点击
    这是一个创建于 1867 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在是白名单机制,以后厂商都会用上统一推送。
    但是通过第三方推送会有延迟,丢消息的问题,尤其是对即时通信软件微信,QQ 。
    56 条回复    2020-09-13 22:22:44 +08:00
    lshero
        1
    lshero  
       2020-09-11 13:33:41 +08:00
    IM 通常离线后才会走推送,在线的话直接自己就处理消息了
    wsseo
        2
    wsseo  
    OP
       2020-09-11 13:36:04 +08:00
    @lshero 以后没有白名单,放后台不一会就被杀了
    aircjm
        3
    aircjm  
       2020-09-11 13:36:44 +08:00
    那为什么苹果可以搞统一推送呢
    kop1989
        4
    kop1989  
       2020-09-11 13:43:28 +08:00
    目前看推送的延迟不会太高(也就是秒级的)。
    丢消息是因为 app 后台被杀了,而用的推送是透传消息不是系统级 notification 。导致收到透传字符串但无 app 服务响应。
    而且你以为不用推送来同步消息就没延时么……
    junyee
        5
    junyee  
       2020-09-11 14:04:14 +08:00 via iPhone
    可是通讯类 app 。对我的低配小电池手机不友好啊
    gtanyin
        6
    gtanyin  
       2020-09-11 14:10:57 +08:00   2
    楼主弄错啦,统一推送并不是一个第三方 app 装在手机里面。是集成在系统中的,系统级不会被杀的。。
    LZSZ
        7
    LZSZ  
       2020-09-11 14:12:39 +08:00
    微信根本没有接入其他推送通道吧
    crclz
        8
    crclz  
       2020-09-11 14:15:47 +08:00
    借楼问一下,电脑版微信为啥会隔一段时间就发生丢消息的行为?
    wsseo
        9
    wsseo  
    OP
       2020-09-11 14:17:22 +08:00
    @kop1989 至少 websocket 比推送快,推送还要先到推送服务器,再推到用户设备,指不定哪个环节会出问题
    vone
        10
    vone  
       2020-09-11 14:23:16 +08:00
    各厂的推送渠道微信和 QQ 应该就没接入。
    接入了推送渠道,对应渠道的厂商就能掌握通知数据,存在隐私泄露的风险吧。
    kop1989
        11
    kop1989  
       2020-09-11 14:24:06 +08:00
    @wsseo #9 这和推送并不冲突。推送是应对 app 非活跃状态的通信方案。不管是长轮询还是 websocket 还是 tcp 长连接,都只能针对于活跃状态的 app 。
    你不能指望你开发个 app,这手机就永远跑着你的 app 不锁屏不切换吧。
    gongym
        12
    gongym  
       2020-09-11 14:37:07 +08:00 via Android
    @crclz 应该不是丢消息,是消息没有同步。电脑客户端未在线时不会接收消息并存储。上线后会主动同步一部分消息。并不是全部的消息。这个你自己尝试做一个 IM 的客户端应该会比较好理解。
    strongcoder
        13
    strongcoder  
       2020-09-11 14:39:02 +08:00
    @aircjm #3 苹果就一个品牌 安卓可是上百个品牌厂商 让他们统一作战可不是一般的难
    pikaconan
        14
    pikaconan  
       2020-09-11 14:40:24 +08:00
    那咋办嘛
    whitev2
        15
    whitev2  
       2020-09-11 14:49:22 +08:00
    @strongcoder #13 看前提是“以后厂商都会用上统一推送”,在这个前提下讨论对通讯软件的影响
    whitev2
        16
    whitev2  
       2020-09-11 14:50:18 +08:00
    上了同一推送之后,即时通讯软件都需要审核才能使用推送通道了
    xz410236056
        17
    xz410236056  
       2020-09-11 14:54:49 +08:00
    即时通讯什么时候靠推送了?不都是 socket 之类的吗。iOS 后台就给你 N 分钟,死了之后才走 APNS 啊。安卓杀不死后台才是问题。
    pmispig
        18
    pmispig  
       2020-09-11 14:59:20 +08:00
    腾讯表示,你统一你的,鸟你算我输
    lshero
        19
    lshero  
       2020-09-11 15:20:44 +08:00
    @wsseo 财大气粗的 IM 可以走短信,万一统一推送做的太烂没准运营商的 RCS 可以发展起来呢。
    murmur
        20
    murmur  
       2020-09-11 15:21:28 +08:00
    即时通讯应该是我想聊的时候开着前台跟你聊,不想聊的时候别打扰我,找我麻烦短信或者电话
    howellz
        21
    howellz  
       2020-09-11 15:25:25 +08:00
    统一推送的最大意义在于避免大家都来活动。统一推送的最大延迟不是网络,而是来自于唤醒应用。所以应用要做的是快速唤醒响应。
    volks
        22
    volks  
       2020-09-11 16:04:40 +08:00 via Android
    telegram 从来消息秒到
    ddefewfewf
        23
    ddefewfewf  
       2020-09-11 16:08:52 +08:00 via iPhone
    @aircjm 没被墙
    wvwking
        24
    wvwking  
       2020-09-11 16:12:58 +08:00
    @aircjm Apple 直接拿了一 A 段做推送服, 而且系集成, 各方面都不是一第三方推送服能比的
    Mcx
        25
    Mcx  
       2020-09-11 16:23:48 +08:00
    MIUI 企业微信,推送还算及时
    jiangzm
        26
    jiangzm  
       2020-09-11 16:30:27 +08:00
    @wsseo 参照 iOS 不就好了,微信也没毛问题。如果 App 离线或者在后台本身对时效性要求没那么高,能秒级接收就够了,会话状态肯定是走 App 自己的长链接。
    xiva1209
        27
    xiva1209  
       2020-09-11 17:40:45 +08:00
    全世界的 IM 软件都走的 fcm,就中国特殊些,不能走统一推送
    dswyzx
        28
    dswyzx  
       2020-09-11 17:55:54 +08:00
    @xiva1209 我大清国情是,系统级推送推送广告
    Muniesa
        29
    Muniesa  
       2020-09-11 17:58:41 +08:00 via Android   1
    明明是即时通讯软件对统一推送不友好
    lengyihan
        30
    lengyihan  
       2020-09-11 18:29:36 +08:00 via Android
    苹果做的挺好,
    weakish
        31
    weakish  
       2020-09-11 18:48:59 +08:00
    @lshero 短信有限制的,不能给一个手机号狂发短信的。
    ZhiyuanLin
        32
    ZhiyuanLin  
       2020-09-11 18:54:59 +08:00
    @vone #9
    Signal 之类端对端加密的 IM,都是用系统推送通道透传一个通知,拉起 App 自行抓取信息。
    非端对端加密的 IM 也可以这样搞。
    pC0oc4EbCSsJUy4W
        33
    pC0oc4EbCSsJUy4W  
       2020-09-11 19:25:51 +08:00
    国内 IM 推送基本靠流氓自启,常住内存耗电,微信+qq 后台基本上 600M 左右(加上阿里系更多),现在手机 8G 内存已经快不够用了,各家都疯狂杀后台保存内存和耗电续航。

    root 后,完全杀微信 qq 后台,一样没有推送。

    统一推送是好事啊,推送又不会涉密。对比 apple,很难微信 QQ 延迟漏掉接收的。
    Elissa
        34
    Elissa  
       2020-09-11 21:13:04 +08:00 via Android
    现在需要开通知栏的只有 QQ 和微信,巴不得这俩走统一推送,现在靠锁后台生怕被清掉了,收不到消息
    aircjm
        35
    aircjm  
       2020-09-11 22:00:16 +08:00
    @Mcx 咨询问下,企业微信是怎么解决语音和视频通话的,MIPUSH 好像不会识别,只会发一个通知了事。
    aircjm
        36
    aircjm  
       2020-09-11 22:01:07 +08:00
    @strongcoder 期望统一推送平台可以吧 现在 mipush 和 Buzzkill 配合的很好
    aircjm
        37
    aircjm  
       2020-09-11 22:02:08 +08:00
    @ddefewfewf 特殊情况那没办法的 不可抗力因素
    TUCANA
        38
    TUCANA  
       2020-09-11 23:15:21 +08:00 via iPhone
    @aircjm ios 有的时候确实有延迟,不推送通知的问题
    lslqtz
        39
    lslqtz  
       2020-09-12 01:40:42 +08:00
    统一推送实时性和 QQ 这类 app 的实时性的问题只在于轮询间隔……
    一般都是秒级的,日常使用不会有什么影响,除非推送服务器负载大响应慢
    lslqtz
        40
    lslqtz  
       2020-09-12 01:43:25 +08:00
    还有就是即时通讯 app 在后台时一般确实是通过自己的协议来获取的,因为在后台的话你可能随时会切回去,消息也是仍在获取的,通知只是顺便集成在内了
    JensenQian
        41
    JensenQian  
       2020-09-12 02:02:36 +08:00 via Android   1
    钉钉在安卓这边支持挺好的,除了 fcm 之外我发现竟然支持 mipush https://imgur.com/gallery/WgBLSwn
    nuk
        42
    nuk  
       2020-09-12 02:34:41 +08:00
    体验不是很好
    经常丢推送
    dinghmcn
        43
    dinghmcn  
       2020-09-12 08:11:04 +08:00 via Android
    @vone #10 可以像 FCM 一样只发送一个空消息推送提醒用户有消息,微信打开的时候自己再接受真实的消息展现给用户
    xxpandxxp
        44
    xxpandxxp  
       2020-09-12 08:29:54 +08:00
    以 qq 和微信的冷启动速度, 后台不保活, 走统一推送, 体验不一定有常驻后台好
    nksky
        45
    nksky  
       2020-09-12 09:18:34 +08:00
    钉钉推送就挺快,电脑上还没响完,手机就推了
    xuanbg
        46
    xuanbg  
       2020-09-12 09:44:56 +08:00
    推送只是通知你有新消息,不是通过推送把消息发给你啊。这个和是不是即时通讯 APP 有什么关系?
    wewewe
        47
    wewewe  
       2020-09-12 10:31:13 +08:00
    使用息知通知效果更好
    https://juejin.im/post/6864925073531207688
    MengiNo
        48
    MengiNo  
       2020-09-12 11:01:09 +08:00
    先屏蔽掉 Android 官方的 fcm,再把 iOS 的 CallKit 砍掉。到底他是想让你想让你收到推送呢,还是不想让你收到推送?
    DSYG
        49
    DSYG  
       2020-09-12 11:50:28 +08:00 via Android
    @LZSZ 微信靠自己 自己玩自己的
    EminemW
        50
    EminemW  
       2020-09-12 11:53:43 +08:00 via iPhone
    微信,qq 好多年前就丢消息
    tsingjyujing
        51
    tsingjyujing  
       2020-09-12 11:59:02 +08:00
    统一推送才比较靠谱吧,你想啥情况才要常驻后台接收数据啊,肯定是监视用户隐私的时候啊。
    安卓的内存消耗一直比苹果大很多,除了 JVM 的原因,很大一部分原因就是这些流氓。
    SenLief
        52
    SenLief  
       2020-09-12 14:46:45 +08:00
    微信和 qq 一直都不走推送,仗着人数众多,用户不敢惹的状态。
    HangoX
        53
    HangoX  
       2020-09-12 18:13:56 +08:00
    通过第三方肯定是会有延时的,但是推送是发生你的 app 被杀的情况,这个时候用户对于消息的延时接受会降到几秒级别,推送完全可以达到。
    当用户通过点击通知栏启动应用之后,应用应该通过建立 socket 连接与服务器连接上,这个时候消息延时就变成毫秒级别了,同时就不会通过第三方发送到用户手机上,而是通过 socket 连接直接发送消息。
    hahaandyou001
        54
    hahaandyou001  
       2020-09-12 18:48:00 +08:00 via Android
    外国 app 直接用 fcm 推送,就你国屁事多
    fansangg
        55
    fansangg  
       2020-09-13 01:27:47 +08:00
    @JensenQian 钉钉不止 mipush,华为 ov 也有
    Mcx
        56
    Mcx  
       2020-09-13 22:22:44 +08:00
    我试了一下,确实是这样……
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5412 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 07:35 PVG 15:35 LAX 00:35 JFK 03:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86