如何保证把内容准确无误地投递给想要投递的人,这将会是推送系统通信层面的难点。
上一篇文章已经讲述了如何选择推送服务,并梳理了用户与设备、Token之间的关系,用设备号才能精准的标识用户。如果还无法清晰的了解这三者的关系,可以回顾上一篇文章:推送系统从0到1(二):了解你的用户
本篇主要为大家剖析推送任务的建立,如何在搭建推送系统中设计任务建立的过程,同时也可以了解各大推送平台的运作方式。作为系统的设计者,我们除了知道给什么用户在什么时间推送什么内容以外,更重要的是如何保证把内容准确无误的投递给想要投递的人,这将会是推送系统通信层面的难点。
为了实现把推送内容准确无误的投递给想要投递的用户,需要满足以下几个条件:
这也是大多第三方推送平台的弊端,当用户‘通讯设备’或‘联系方式’发生改变的时候,部分第三方推送平台会把该用户当成‘失联’的用户,再也无法联系上该用户,此时用户变成为无效用户。因此运营童鞋经常会发现,推送效果越来越差,到达率、点击率越来越低,其实是其中的许多用户已经失联,再也无法把消息发送给该用户。这些无效用户既然收不到推送,也自然不会产生点击,但是却会让推送的目标用户数虚高。所以这三点在推送任务建立之前,必须通过产品设计的角度,让其成为“不变的”。
如果阅读过我上一篇文章就会知道,我把用户、设备、Token的关系比喻成用户、电话、电话卡之前的关系。想要用户永远不换电话或者不换电话号码似乎并不现实,所以改变是必然存在的,重要的是通过我们对其关系的梳理,即便发生了改变,我们仍然知道这个用户是谁,用的是哪个设备,如何联系该用户。所以首先我们建立三者的绑定机制。
以上三种情景在实际过程中经常会出现。除此以外还有第四种情景,即设备及Token未发生改变,但用户发生了变化,此情况多出现在用户在同个设备上登陆多个账号时出现,该方式主要的处理办法为账号信息同步,在此不做过多的阐述。以上方式能够解决大部分情况下由于设备或Token发生改变时,该用户变成了无效用户的问题。那么综合以上三种情况,我们在设计用户绑定机制时,应当设计成以下方式。此方式可以最大程度的保证你推送的用户是有效的,真实的,且是你认知的那个用户。
具体流程可见下图:
按照以上方式,即可尽可能的保证用户的“不变”,不管用户设备或‘通讯方式’如何更换,该用户仍然是原来认知中的用户,并且有‘最新最有效的联络方式’。该方式如同一个自带过滤和净化器的池子,尽可能的保证池里的‘生物’健康有效的存活。但是即便如此,在建立推送任务时,还是需要做有效用户的筛查。因为仔细研究上述方式,就会发现一个弊端,不管哪种方式重新绑定或者替换,都建立在用户‘主动’告知其设备信息发生改变的前提下。若用户不告知,则系统仍无法进行过滤和关系的重建。所以有效用户的筛查就很有必要。
在建立推送任务时,进行有效用户的筛查就是针对类似于用户卸载APP后,Token已经失效,但是用户无法回报该信息。此时我们仍把这个用户当作是有效用户进行发送,最后的结果就是该用户收不到。这是大多数推送系统在建立推送任务时一定会做的有效用户的筛查(甄别)。
建立推送任务时,我们会选择目标用户,此时根据条件在上述构建的用户池中捞出我们的目标用户。这些目标用户在我们带有过滤系统的用户池中已经拥有最新的联络方式了。但就像我所说,即便如此,仍可能存在用户的设备或Token已经失效,但无法及时汇报给系统的情况,例如APP卸载、APP重装但未开启、更换设备后未登录过等。所以把用户捞出来后,首先要做的就是有效用户的筛查。我们可以通过以下方式判断该用户的设备或Token是否有效:
通过上述方式,可以把无效的用户进行标记,从本次推送任务中删除,并进入黑名单。关于黑名单机制在后续文章中将会详细讲解。此时便完成推送任务的第一步,从用户池中捞出用户,并进行有效性的筛查。在完成以上步骤后,推送消息的下发成功率将达到95%以上。(苹果返回的下发成功情况没有参考价值,部分第三方平台返回的下发成功情况也存疑)当我们尽可能准确的选出有效用户之后,如何把准确的消息发给这些用户呢。
像小时候学习写作文,记事文的几个要素:时间、地点、人物、事情。那么建立推送任务也是如此,上述我们已经讲了人物的部分,我们已经把有效的用户确定了,如果想要给不用的用户发送不同的内容,后续文章讲解精准推送的部分将会详细讲到,本次不在阐述。那么此时需要确定的是发送时间、发送设备、发送内容。
梳理上述内容及推送任务之间的关系,可以从下图中看出来,设置发送时间,将会作为任务执行时间,而发送设备决定了用户在哪个设备上接受什么类型的消息。发送内容中的通知信息将会在用户的设备上的通知栏展示。设置着陆页将会是用户点击之后跳转的页面。
此时在设置好这些内容后,推送系统将按照时间执行任务。用户收到消息将会看到你设置的通知内容,若用户有兴趣点击,将会跳转至你设置好的着陆页。此时推送任务的建立即完成。关于内容的设计,蕴含很多运营知识,将会在后续介绍推送运营的时间进行详细介绍。不过值得注意的是,推送内容如标题、内容、图片等等,会因为设备端的展示限制和系统支持的富文本情况将有所区别,如果IOS 10及以上系统支持富文本推送,Android系统支持自定义通知栏。运营人员在使用个性化的推送内容展示时需要与客户端有所约定,关于客户端所支持的通知内容展示情况,将会在下一篇中进行详细介绍。
在推送任务建立之后,通知消息经过推送系统的几个过程最终达到用户的设备上,消息是如何从推送系统到达用户的设备上的?通知消息在传输的过程中是否会遇到困难,消息在设备上是如何展示的?请期待下一篇“推送系统从0到1(四)通知消息如何达到设备”。
本篇文章主要阐述了建立有效过滤机制的用户池到建立推送任务的过程,归纳成以下3点:
建立推送任务的要素:推送时间、推送设备、推送用户、推送内容(标题、文案、图片、其他富文本、着陆页)
本文由威海网络公司半岛科技转载整理2018.08.28