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

推送服务基本上是每个 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 条评论
登录 后参与评论

相关文章

来自专栏软件测试经验与教训

客户端流畅度测试

34610

在任何地方部署Kubernetes

容器提供了将应用程序及其依赖关系与操作系统解耦的能力。通过与虚拟机镜像相同的不打包操作系统的方式,容器可以节省大量的系统资源:计算,内存和磁盘空间。容器的下载,...

20410
来自专栏美团技术团队

Hyperloop,让发布简洁高效

Hyperloop 是什么? Hyperloop 是服务于美团点评客户端的组件发版、持续集成、App 打包构建、资源调度等各个环节的发布调度系统。名称起源于美国...

3657
来自专栏腾讯移动品质中心TMQ的专栏

测试管理平台大比拼

简介 工欲善其事,必先利其器。测试管理平台就是测试过程中的“器”,它是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题,比如缺陷管理、用例...

2508
来自专栏CSDN技术头条

互联网中小型企业的持续集成CICD

本文来自作者 SoftwareLuke 在 GitChat 上分享 「互联网中小型企业的持续集成CICD」 互联网研发的世界里唯快不破、迭代速度往往很快。在快速...

5768
来自专栏知晓程序

开发 | 适用场景广,表单收集类小程序开发案例复盘(上)

今天我将以「北江纺织牛仔新时尚」小程序为例,复盘一个服装行业订单收集小程序从设计到实现的全过程。这是上篇,主要讲产品逻辑搭建和数据库设计的过程。

1013
来自专栏Java架构

前阿里P8架构师:精准定制Java架构师学习计划!

可以说,Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地。

812
来自专栏SDNLAB

OPNFV XCI:跨社区集成实现开放创新

Linux基金会下的OPNFV项目是通过集成,部署和测试促进各种开源生态系统网络功能虚拟化(NFV)组件的开发和演进的开源项目,该项目目前宣布了其跨社区持续集成...

2626
来自专栏性能与架构

认识日志分析平台ELK

为什么要使用日志分析平台 对于日志的重要性,都会很认同,不管是一个小网站,还是一个大系统,都会用到日志 网站初期,一般就是查看web服务器访问日志,例如,平时...

3628
来自专栏Java架构师历程

Docker与CI持续集成/CD持续部署

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器...

862

扫码关注云+社区