活动背景
如何快速构建 push、直播、支付功能,实现短期最优性能 app 的开发?
如何快速布局移动端、占领移动市场?
如何控制时间与成本,实现成本最小化、效率最大化?
如果你是创业团队或者开发者,如果你被以上问题困扰,
请关注4月21日极光开发者沙龙,极光携手涂图TUTUCLOUD、Ping++,为你解读移动开发,我们希望通过一场线下的交流,可以让你在SDK集成的路上少走弯路,一个工作日的下午,解决推送SDK,直播SDK,支付SDK,让你的app飞起来!

主持人:再次感谢大家参加我们极光开发者沙龙,我把话筒交给第一个嘉宾,也是我们来自极光的产品经理王猛,他今天跟大家分享的“精准送达目标客户,基于极光平台优化Android通知”。

王猛:我是极光的推送产品经理,我叫王猛,长期以来我们产品和研发团队都非常低调,已经有很长一段时间没有在这种公开场合跟大家分享一下我们产品特性。今天,我作为代表,跟大家分享一下过往这段时间,我们在极光推送这款产品上做了哪些事情。

但凡曾经使用过,或者去调研过推送产品的开发者、公司,都或多或少了解过极光推送这款产品。当然,肯定也有很多开发者了解不够深刻,所以我在这里给大家简单介绍一下,极光推送这款产品曾经服务过50万款APP,700亿移动终端,月独立活跃用户7亿。

第一部分是通知栏样式,第二部分是富文本,第三部分是用户筛选,我们叫用户分群,第四部分我们在推送技术做了哪些优化,第五部分跟大家聊聊我们在推送通道上的努力。刚刚开发者已经向我提出的一些疑问和需求。

咱们先进入正题,通知栏样式,在座很多开发是Android开发者,大家都了解过Android的通知类,所以应该会对这三种样式比较熟悉,在API16个时候官方加入的通知栏风格,我们先来简单看一下大文本的样式 ,允许开发者传入一个叫长的文本,展示在抬头下面,开发者可以把正文摘要作为大文本展示在下面。当这条通知达到第二条,或者排到后面的时候,它会自动折叠起来,收到用户当然可以点击上面的按纽,用户可以操作把它拉伸或者折叠的。第二个大图片样式,它的展示和操作逻辑跟大文本样式一样的,开发者可以传入一个图片的URL,SDK会收到这条通知的时候先加载这个URL,开发者还会加载本地的图片资源,我们直接加载本地图片资源。第三种是收件箱样式,开发者传一些比较短的通知,让他们在同一个通知栏里面展示出来。以上三种通知栏样式,我们极光都做了比较应用的支持。

再看下面两种,首先是Head—Up,这个叫悬浮通知栏样式,它跟通知优先级息息相关,当一个通知拥有较高优先级,当然很多用户不习惯这种弹出来的心理,它是在系统设置里面将展示方式关掉的。下面一种是带按纽的通知栏样式,这种样式允许用户在不仅如应用的情况下做一些简单的操作,比如说回复、收藏、归档这样的按纽,开发者可以传入文本来制定这几个按纽的。 下面一种是极光自定义通知栏样式,这种通知栏样式自由度比较高,使用方法也比较简单,极光内置极光通知栏Builder。以上是通知栏样式是在Portal和API做过支持的,请大家好好的使用他们。

第二个是副文本通知栏模板,这是Landing Page,开发者可以传入这个图片的点击链接,或者右手下面角有一个点击文字的链接,开发者在5秒之后,会自动消失,就直接进入到应用的主页,右上角还有一个跳过按纽。在这里多说一句,咱们富文本资源的加载过程,开发者在我们后台编辑了这样一个富文本样式之后,我们极光会生成一个资源,当SDK接收到这样通知的时候,首先想办法把这张资源缓存下来,这样展示的时候就展示本地资源,这样非常快。我们也说不准会有一些情况,网络不好的情况,我们超时,我们加载的时候超时了,缓存的时候超时了,这个时候点击通知栏的时候,就是从远程去加载资源,并不会不加载了。

第二种形式信息流的富文本模板,我们提供了两种,第一种是多图文聚合的内容形成,发送之后大家看起来都比较熟悉,第二种是单图文信息流发送方式,它会显示一个图片,我传入是一个GIF,不仅传入图片,还可以传入GIF,再加上中文的一些摘要,就形成这样一种模板。这两种模板不管是用户还是开发者见得都比较多,用户收到这样的模板之后,他会知道该怎么点,怎么操作,非常熟悉。

下面第三种模板是弹窗富文本模板,我们同样提供了两种形式,第一种是纯图的,第二种是带标题和按纽的形式,使用起来和前面两种差不多,我们都提供带我们Web操作上的编辑功能。

富文本模板说完之后,想跟大家聊一下,这几个富文本模板都是通过点击通知之后进入界面,不是直接弹给用户,咱们做服务,跟用户通知打交道要热情积极,但是也不能打扰用户,在这个交互上面咱们一定要克制。

下一个大的主题是目标筛选,我们也叫用户分群

首先向大家介绍的是标签分群,其实在极光推送很久很久以前,我们就已经使用了标签和别名的分群方式,这两种分群方式,我们都觉得还不够精准,分得不够细。我们就想了一些更精准,更好用的分群方式。现在第一种就是标签分群方式的升级。一个开发者给用户已经打了很多标签,一个用户身上可以多达1千个标签,这么多标签,咱们可以去交集和并集。比如说取一个时尚达人和游戏玩家的交集,对这样一个用户群,比如说做游戏的用户,做游戏的开发者可以给用户群推送一个游戏人物新品皮肤这样的通知。或者说,一个农民伯伯或者单身人士,我们取一个并集,这两种人群有什么共同的需求呢?大概可以推送一个锄头,农民伯伯耕地的时候用,单身人士挖墙角的时候可以用到。

下一个分群方式是地理位置分群,咱们开发者已经有很多办法了,在自己用户注册系统里面,用户会传入它是哪一个城市,老家哪里,当前所在地哪里,通过极光标签把这个城市标签打上去。其实这个毕竟还是一个需要用户主动填写,主动操作的一个事情,得不到及时更新。但是极光的位置系统,我们通过数据分析实时更新这样一个用户设备的地理位置,这样的功能满足了很大一部分地理位置敏感度较高的用户服务。

下面一个分群方式叫活跃度分群,显而易见大家都很能够理解,开发者可以选择给自己的用户在几天之内活跃的用户和几天之内不活跃的用户推送不同的消息,也可以指定一个用户在某些时候比较活跃,也可以给他推送一个特定的信息,这样一个功能大概跟现在越来越多的各种各样的节日息息相关。

最后一个分群的方式是系统版本分群,系统版本分群拿通知栏样式来讲,作为一个开发者,我有一条消息用浮动发送方式它的价值非常高,但是我只想对安卓6.0以上的设备发送这样的方式,就可以用到这样的功能。

第四个方面跟大家聊一下极光在推送技术上面做了哪些优化。

第一个多应用推送,多应用推送顾名思义,就是把多个应用捆绑成一个应用组,它的使用场景是一个开发者名下有好几个应用,而且它有几个应用是息息相关的,他想把这些应用捆绑在一起作为一个统一的通知管理,他就会用到这个功能,顾名思义,我们一个应用会生成一个APP Key,几个App Key就可以生成一个Group Key,当开发者想做统一的推送管理,就像使用App key使用Group Key,非常简单。

推送不到短信到,极光虽然没有办法开发者的应用在这两个方面万无一失,但是我们想到其他办法弥补这个遗憾。比如说推送不到短信到的服务就是。我们为用户推送服务的时候,它受阻了,当一定时间内没有收到这个回执,开发者设置一个时间段,这个时间段到了之后,可以通知我们短信服务,短信服务就可以给用户来发送一个短信。大家看一下JSMS作为短信服务在极光里面是一个服务了,一来它解决了纯用短信服务的成本,短信咱们还是短信服务商对运营商都是有成本的,如果用JPush解决这样一部分服务,可以节省一些成本。第二用短信通知没有到达用户的遗憾,所以这个功能是一个非常人性化,非常体贴的功能,希望大家可以喜欢。

下面是SDK组件化,大家看一下JPush,还有Jmessage,还有Janalytics,我们想达到的目的让各个业务模块低耦合这样的技术特点,这个纯粹是我们研发人员在SDK技术长的努力成果。

最后一个部分想跟大家聊聊推送通道这是推送行业里面大家最关心的事情。推送通道有一个开发者也聊到了,现在有一个让开发者头疼的问题,很多大的设备厂家对设备商的通知通道把控得越来越严格了,他们也自建了他们的推送通道,我相信他们初衷也是为了服务自己的客户,为了服务自己设备的用户。但是作为开发者来说,就不得不去接入一个又一个推送平台了。极光作为独立的第三方推送平台,在这件事情上也想为大家做一些事情,我们只能说分布来走。

首先,我们解决当务之急,节约开发者时间。怎么节约开发者时间,我们做设备厂家通道集成的事情,集成这样的事情之后,我们想做小米、华为、魅族,我们进行得如火如荼,后面还会有GSM,接到这样的通道之后,开发者推送起来在很多设备商就非常方便了。很多用户不愿意被打扰,但是也不愿意错过极致的用户推送,极光想在这方面为大家做一些事情,我们在未来一段时间要努力的方向有几个方面。第一,强化自己的质量,大家精益求精。第二,我们在一些特定的设备商建立这些设备厂家的通道。第三,我们想和这些设备厂家谈谈合作,但一些互利共盈的合作。第四,我们想在以后形成一个统一的业界标准,这样也是我们一个心愿,也是我们努力的方向。这个就是我刚才说的,我们想为开发者在推送过程中做的一些事情。

今天来到这里,有一点小紧张和小兴奋,说的话有点乱,有点多,不要影响大家食欲。我们国内开发者服务平台,需要所有开发者共同支持和全体同仁共同的努力,今天的分享就到这里,谢谢!

提问:刚才提到正好和我要问的问题是切合的,安卓怎么保持常连接的事情,你们解决方案是用短信来弥补,我的问题分为两部分,第一你们有没有什么黑科技把常联系保持下去?第二,这个短信功能一部分免费,是怎么收费情况能不能介绍一下?

王猛:大家一定会问到推送通道和进程方面的问题,黑科技我们不敢说有,因为设备厂家和第三方SDK不管是推送还是其他,只要有应用进程,保持应用进程这样的SDK,这是一个相爱相杀的过程。Google系统最开始出来的时候,我们有非常方便的形式让一个series进程马上杀掉,后来越来越多的设备厂家手机进入菜单栏滑动那个操作,这个时候手机厂家对把控越来越严,如果我们采取一些黑科技,或者不规范的行为的话,一定不符合我们公司的产品价值观。但是我们为这件事情做的事情,第一,里面集成了小米、华为、魅族这样的推送通道,有了这样的推送通道之后,在他们设备里面我们就拥有了一个系统级的通知通道,系统级通知通道可以达到的效果,应用被杀掉之后,在这些设备上面可以通过系统级通知通道的分发到你的App上,根本不需要在乎你的App有没有进程在运行,这个是我们现在正在努力的一件事情。

还有短信方面的东西,首先要知道短信是有成本的,我们每发送一条要交给供应商一些钱,我们会提供给开发者试用的条数,比较少,也不多,大家可以测试一下质量。但是收费的话,据我个人了解,收费跟你的量有关系,这个东西是一个批量的过程,你从我们这里买到的东西越多,我们从供应商那里就可以买到更多的东西,我们可以拿到更优惠的价格,就会给你更优惠的价格。
嘉宾:包括价格方面,不同的通道有不同的方式,会后可以找到我们现场支持,给到具体的技术服务。

提问:刚才讲到标签的时候,没有讲得很细,能不能稍微讲得细一点,你这个标签动作是怎么来的,如果我是一个全新的用户上来的话,是不是立刻就用这个标签,什么时候用这个标签?这个数据来源大概是什么方式?
王猛:我刚才说的标签分类是我们之前的标签系统的一个升级版,而我们之前一直在做的标签系统实际上很多厂家,每一个推送厂家都有这样一个标签系统。您作为一个开发者,您的应用有您的用户,这个用户会简写我是一个男生还是女生,我是90后还是80后,我是一个生活在哪些城市的人几个维度。它的这些注册信息你会拿到,SDK和后台都有这样的接口把这些信息作为一个文本,上海或者是男生这样的东西传给用户,相当于给它打上一个标签,是这样一个逻辑。有了这样的逻辑之后,一个用户身上可以由多达1千个标签,有了这样的逻辑之后,才是后面的标签升级,取他身上所有的标签升级和并级,除了标签还有一个别名,它是作为在你自己的用户系统里面还帮你多提供一种唯一的用户标识。

提问:我在开发过程中发生一个现象,当网络切换的时候,从4G切换到Wifi,或者从Wifi切换到4G,这个连接会丢失,这个连接建立会花3、5分钟,我个人碰到是这样的?
王猛:这个绝对不是一个正常现象。咱们网络切换的时候,7.0版本网络切换就有这样的广播,收到广播就会做一个重连的动作。极光在终端用户到极光上注册和登陆有一个动作,我们会有一个Sist服务,直接发送给当前设备上他连接最快的IP,给他这样一个IP之后做网络切换的时候,我们默认他就使用这个IP去连接,他会非常非常的快,可能不到一秒钟,几十毫秒。如果这个IP出的问题,可能尝试几次之后,他就会尝试做Sist动作,完全做下去也不超过3秒钟。你说的这个情况可以调试一下。
提问:作为开发者可以做什么事情吗?
王猛:作为开发者,连接的部分都是在SDK里面,开发者可以多个几个测试环境,如果有什么问题可以发给我们,我们让技术专家帮你们解决。

提问:你最后提到一个跟厂家合作那块,解决到达率的问题,这个比较靠谱一点,什么时候能出得来?
王猛:其实开发者最近了解过我们产品更新,其实已经推出一部分了,你可以更多了解一下我们有这样的功能,我们不会藏着掖着。
提问:SDK升级?
王猛:SDK已经有这个功能,如果要开通这个功能,还需要跟我们的人员联系一下,虽然我们集成设备厂家的通道,但是我们也尊重他们,也有一些用户弄着玩,给他们增加很多负担,也是尊重他们,希望他们提供一种规范的合作方式,但是暂时还没有,但是保持一个开放的合作态度,如果他们提供这样的合作机会我们一定会放的。