高手问答第 246 期 —— 关于移动消息推送,你了解多少?

xplanet 发布于 06/03 08:03
阅读 4K+
收藏 6

鲲鹏开发者成长训练营,学练结合,技能一站式进阶,赢华为手机等好礼!>>>

在移动互联网背景下,移动推送能力承载着运营、资讯、甚至拉活等方方面面的需求;再加上移动应用对于电量、流量、触达时效等都有更严格的要求。所以,如何建设一款能够省电省流量、支持高并发、支持丰富多样的展现形式的移动应用,满足不同推送需求的推送能力就显得尤为重要。

OSCHINA 本期高手问答(2020 年 06 月 03 日 —— 2020 年 06 月 09 日)邀请到了来自百度慧推的刘朋飞老师,他将与大家一起,围绕「移动消息推送能力建设」展开讨论, 可讨论的问题包括但不限于: 如何提升消息达到率、移动运营增长策略、慧推技术选型、心跳建设、厂商通道融合方案、多样化通知定制需求等等。

嘉宾简介

刘朋飞,百度安全部慧推技术负责人,主要从事百度慧推能力建设、百度安全 SDK、设备指纹、DNS 安全、移动热修复等方面的研发工作。

为了鼓励大家踊跃提问与学习,本期高手问答将抽取 5 名参与者分别赠予度熊运动臂包一只。

OSCHINA 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家向刘朋飞老师 @百度慧推  积极提问,直接回帖提问即可。

加载中
0
xplanet
xplanet

高手问答第 246 期 —— 关于移动消息推送,你了解多少?
@mopland @xiaour @sunday12345 @blackpuppy @snowingximen
恭喜以上五位网友分别获得度熊运动臂包一只
请私信 @xplanet  告知快递信息(格式:姓名+电话+地址)

1
OSC_NcKnLY
OSC_NcKnLY
@百度慧推 怎样实现离线消息的存储自己及及时送达
百度慧推
百度慧推
离线消息的存储基于HDFS的一种混合消息存储方案,离线消息的及时到达分为两类,自有通道和厂商通道 ,自有通道的话依赖于端上长连接的保持,这块做了很多重连机制,智能心跳,辅助心跳,监听系统广播,厂商通道融合了各个厂商的SDK,以确保消息能够及时触达
0
jasonwu24
jasonwu24

@百度慧推 您好! 请问百度慧推的Android系统的推送和iOS的推送有什么区别? 推送实现的方式也是长连接+心跳机制(MQTT协议)由服务端向客户端push信息吗?谢谢!

百度慧推
百度慧推
android 和ios自有通道区别不大,主要在厂商通道,android这边融合的是华为,小米,oppo,vivo,魅族等厂商的通道SDK,ios只能选择apns 实现机制上是采用的长连接,协议没有采用mqtt,采用的是protobuf私有数据协议
0
h
heike07

@百度慧推 能否通过推送消息达到 安卓应用保活?

百度慧推
百度慧推
保活可能不准确,准确的说是可以实现一种激活方案,通过push消息实现A/B 之间的激活
0
mopland
mopland

@百度慧推 系统中存在多种消息源,怎样与业务隔离,又能实现简单快速实现推送任务呢?

mopland
mopland
回复 @百度慧推 : 我们也是这样考虑的,避免影响业务主线,打算采用的 Redis 来传送数据。
百度慧推
百度慧推
架构方面没有固定的方案,只有合适的架构,能够实现业务逻辑和推送本身的解耦,便于维护和扩展都是可以的,建议可以采用分层架构,将业务消息和推送本身隔离开来,两者通过约定的接口进行交互,后续维护和扩展方便就可以
0
wha37
wha37

@百度慧推    1. 百度安全部 的信息安全是怎么做的?加密通道的相关算法可以简单介绍一下吗?

2.目前移动信息推送的开源项目和框架,有哪些可以值得推荐学习的

百度慧推
百度慧推
不好意思,安全部的信息安全我不太了解,但在消息推送上可以采用openssl的TSL,也可以选择ECDH秘钥协商算法和ECDSA签名算法 我这边了解的开源框架不多,目前国内基本很少有开源的,国外的倒是有的,https://awesomeopensource.com/projects/im,您也可以自行搜索下
0
青苗
青苗

@百度慧推 自定义协议和 MQTT 百度用的什么?

百度慧推
百度慧推
可以选择google的protobuf,相对来说更简单,小巧,使用起来挺方便,能够满足im的基本需求
0
blackpuppy
blackpuppy

@百度慧推
是否有什么平台或者工具可以帮助开发者实现统一的消息推送?比如,跨地域和国家?跨平台(Android/iOS),甚至华为鸿蒙?甚至支持浏览器,比如PWA的?另外,主题是关于移动消息推送,有可能谈一下桌面的消息推送吗?

blackpuppy
blackpuppy
回复 @百度慧推 : 多谢答复!
百度慧推
百度慧推
至于桌面消息推送,技术上实现上都没有什么问题,就目前来说大前端的一种趋势,像您说的PWA,如果未来能够突破目前的一些瓶颈,取代原生app,那统一推送就会变的更简单了,个人愚见,如有不妥,还请包涵
百度慧推
百度慧推
统一推送是趋势,一般的推送平台支持跨地域,跨平台android/ios都是支持,但是出于自己现阶段业务需求,很多没有提供web的支持或者更多端的支持,这块做的比较全的国外像google 的firebase,国内像华为的HMS都是可以支持android/ios/web的
0
开源中国首席罗纳尔多
开源中国首席罗纳尔多

@百度慧推 您好,请问Android现在统一推送联盟有了吗?规范了吗?现在是怎么处理多品牌手机的推送的?

百度慧推
百度慧推
回复 @开源中国首席罗纳尔多 : 目前还是跟厂商对接中,第三方还没有开始,开发者还是需要整合多家厂商的推送的,大概有几个步骤: 1.集成各加SDK的物料包,并提供统一的接口进行包装 2.继承各个厂商的组件,实现注册回调,消息回调 3.将appkey和appid让开发者自己从厂商申请,并在应用中配置 4.初始化时内部依据不同厂商读取不同的appkey和appid进行初始化就可以了
开源中国首席罗纳尔多
开源中国首席罗纳尔多
回复 @百度慧推 : 您好,请问开放联盟现在有统一推送了吗?没有的话现在开发者要整合多家的品牌的推送吧?
百度慧推
百度慧推
慧推也在跟统一推送联盟沟通中,后续也会逐步推进,至于多品牌手机的处理方案,还要依据集成统一推送后的测试结果,结果无非有两种,如果效果特别好的话,其实完全可以弃用厂商,毕竟还是有合入成本的,如果不好,那其实还是要依赖厂商的通道
0
zhuzhangsuo
zhuzhangsuo

@百度慧推 大神,如果用http2协议去实现推送,会有什么利弊?

snowingximen
snowingximen
回复 @百度慧推 : 为什么不利用tls的安全通道,而使用tcp实现自己的加解密呢?
百度慧推
百度慧推
HTTP2的弊: 1. HTTP2实现安全传输需要依赖ssl或者tls的支持,虽然安全但也会增加运算,而TCP可以实现自己的加解密 2. 维护HTTP2长连接和TCP长连接在服务端的成本不一样,HTTP2相对来说成本更高 3. 相对HTTP2而言,TCP可操作的粒度更细 4. HTTP2是应用层协议,依旧建立TCP协议之上,QUIC暂且不说,TCP是传输层协议,RTT上还是有优势的
百度慧推
百度慧推
利弊其实看相对谁,要做什么事情,就消息推送简单跟TCP做一个对比 两者在传输效率和稳定性上已经比较接近,应用场景和成本控制上有所差异。 HTTP2的利: 1. 多端支持,通用标准 2. 应用层协议更容易使用
返回顶部
顶部