【移动开发】市面上主流「移动推送服务」的体验比较

推送服务基本上是每个 App 的刚需,自己也用过许多家推送服务,最近腾讯云上线了一个类似于 firebase 的移动开发平台,上面集成了很多的移动服务,包括推送(底层支持即为信鸽)、Crash 上报、第三方登录等。这里单独抽出其中的推送服务和市面上几家常见的推送服务进行一个简单的比较,整体使用上来感觉还是不错的,很顺利的就集成到了我现有的 Android 项目中去。

腾讯移动开发平台

目前的推送服务很多,主要包括极光、友盟、个推、百度、小米等,基本上这些产品都不止包含了推送服务,基本上都是一个具有多种服务的移动开发平台,比如:

  • 极光不止推送,还包含了统计、IM、短信和分享功能。
  • 友盟也是一个整合了多个服务的移动开发平台,除了推送,还包括统计、分享等。
  • 个推同样整合了多种服务,包括推送、统计、用户画像、短信等,但奇怪的是个推不同服务之间应用是割裂的,比如说在推送服务中创建的应用在其他服务中不可见。

腾讯云上的移动开发平台目前的服务有:分析、推送、Crash 上报、存储、托管、计费和第三方登录,基本上已经形成了闭环开发,后续可能还会上线实时数据库和分享等功能,这点我非常看好,腾讯产品的体验一直都还是很有保障的。

这里我们不以整个开发平台进行讨论,只单独拿出腾讯移动开发平台和极光、友盟以及个推的推送功能来进行比较,比较的范围主要包括推送功能、集成难度、开发文档、控制台体验、服务收费几个方面进行比较。

推送功能

这几家的推送服务的基本功能是相似的,下面主要说下腾讯移动开发平台推送的主要功能:

  • 支持通过控制台和后台 API 来给终端推送通知消息和透传消息;
  • 支持通过账户和标签来进行推送;
  • 支持华为、小米和魅族厂商通道,在这些厂商下的手机推送更加可靠;
  • 支持添加通知样式,添加样式后,只需要通过样式 ID 即可使用对应的样式来进行推送。
  • 支持本地推送消息:本地通知消息同样会触发回调。
  • 各种回调相对清晰全面:用户通过注册 Receiver 来获取推送服务以及通知的状态,通知包括了:注册以及反注册回调、透传消息和通知消息到达、通知消息点击和删除以及标签绑定和解绑。

其他的推送平台功能上也基本和腾讯开发平台一致,可能会有一些额外的特殊功能,如 A/B Test 等,这里就不详细介绍了。

集成难度

极光、友盟、个推三家的集成步骤基本相同,主要是如下四步:

  • 在控制台上创建应用;
  • 在 Android 项目中引入 SDK 依赖;
  • 并将应用信息配置在项目中(通过设置 manifestPlaceholder);
  • 初始化或者启动推送;

腾讯的移动开发平台这方面的体验会更好(其实也是和 firebase 的交互更加一致):

  • 在控制台上创建应用。
  • 添加配置文件:通过 json 文件来配置参数,用户不需要自己手动添加 mainfestPlaceHolder。
  • 添加 SDK 依赖:推送服务是自启动的,不再需要用户手动初始化或者启动推送。

其实不止推送服务,腾讯的移动开发平台上其他的服务也基本上实现了零代码集成。

开发文档

推送服务在具体可以参见这里

在功能介绍上,极光、友盟、个推基本上都是糅杂在一个文档中,看起来稍微有点费力,这里腾讯移动开发平台上的推送文档按照功能点对文档进行了拆解,将如快速入门、推送消息等功能拆分到不同的文档中,这样看起来会更加清晰,并且文档中对每个功能点是否成功都做了验证,用起来也会比较放心。

控制台体验

移动开发平台的控制台一眼看过去很清爽,进入应用后左边是一系列服务的列表,红框内是推送服务的控制台功能:

  • 创建推送:用于发送通知栏消息和透传消息;
  • 效果统计:可以看到推送的历史数据以及统计数据;
  • 精准推送:这里可以管理标签,然后通过标签来推送消息;
  • 配置管理:这里可以配置厂商推送通道、测试设备以及推送的应用信息,这里还提供了调试工具帮助开发;
  • 信鸽实验室:将你的应用和行业进行横向对比,实时了解自己应用在行业中所处的位置。

当然,极光、友盟和个推各自的控制台也有自己的特点,风格也各不相同:

极光:

友盟:

个推:

奇怪的是个推不同服务之间应用是割裂的,比如说在推送服务中创建的应用在其他服务中不可见,这有体验有点不太好,其他的基本上看个人的爱好了。

服务收费

  • 极光包含了三种不同的推送服务模式:免费、VIP、私有云;
  • 友盟推送目前没有收费版本;
  • 个推目前也有免费版和收费版;
  • 腾讯移动开发平台对用户不做区分,所有的服务均免费;

总结

这里主要是分析了腾讯移动开发平台上的推送服务,整体来说

  • 目前市面上的推送服务以免费为主,但也有一些收费版本,腾讯移动开发平台是完全免费的;
  • 目前其他推送服务的接入方式基本一致,腾讯移动开发平台上会更加简单,实现了无代码集成;
  • 腾讯推送的开发文档通过功能划分,看起来很清晰,可以很容易找到自己想要的功能点;
  • 控制台上创建一个应用后,不但包含了推送功能,还自己集成了分析、Crash 上报等基本功能;
  • 推送的核心功能各个厂家基本大同小异,有些厂家会有自己独特的功能点,当然推送服务最重要的还是稳定性,腾讯推送底层支持其实就是信鸽,也是一个很成熟的产品了,经过大量产品的验证,稳定性还是有保障的。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

移动开发试验田

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

【独家】一文读懂非关系型数据库(NoSQL)

本文共11000字,阅读全文约需30分钟。 本文为大家解析非关系型数据库(NoSQL)。[ 在数据派THU后台(非留言区)回复"综述"即可获取资源。] 前言 N...

65810
来自专栏杨建荣的学习笔记

明天,实现几个还不错的功能点

明天,计划实现几个还不错的功能,算是个自己这段时间的运维里程碑划上一个句号。里程碑是自己制定的,目的是督促自己做事情有一个预期目标,在糟糕的实现中不断迭...

1002
来自专栏IT笔记

微服务化的基石——持续集成

在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式。

4198
来自专栏FreeBuf

看我如何发现Google生产网络SSRF漏洞获取$13337赏金

今年3月份时,我曾上报过Google的任意html/javascript网页在线嵌入工具Caja的一个XSS漏洞,到5月份时,这个漏洞才被修复。之后,我想看看谷...

1232
来自专栏Java职业技术分享

巧用分布式环境下的优雅技术,只有头发少的人才研究过

在分布式数据库系统中,用户感觉不到数据是分布的,即用户不须知道关系是否分割、有无副本、数据存于哪个站点以及事务在哪个站点上执行等。

480
来自专栏JAVA高级架构

大型分布式电商系统架构是如何从0开始演进的?

1453
来自专栏腾讯研究院的专栏

常见的几种数据层容灾架构比较分享

陈守志 腾讯公司平台运营开发组 一、关于容灾   关于容灾主题,这里罗列对比了几种常见的容灾案例: ?   相对接入层、应用层容灾而言,数据层的容灾相对...

4345
来自专栏CSDN技术头条

高性能智能日志实践

本文作者是 Archanaa Panda ,从 2000 以来一直在软件开发(构架、设计和编程)团队担任 Java / JavaEE 构架师,目前立志于做一个与...

22810
来自专栏服务端思维

提高服务端编码质量 - 预防BUG篇

需要团队定义一整套规范,包括注释,包名,类名,字段名,代码结构等等,从而保证代码清晰,良好的格式。

813
来自专栏Rainbond开源「容器云平台」

云帮社区版4月升级,支持主流Go版本,修复了若干Bug

1314

扫码关注云+社区