技术分享

App Push通知消息的一些思考


    从Apple正式推出APNS(Apple Push Notification service)到现在,Push通知已经在几乎所有的 iOS App 上都有落地。他为第三方服务商和用户的iOS设备之间建立一个良好的数据通道,能够让服务商主动的将一些消息内容推动到用户的iOS设备上,从而告知一些重要的事情。


    

    在iOS平台上,只要App申请了使用APNS服务,那么第一次启动的时候,系统就会弹出这个提示框来让用户确认,是否允许App发送通知信息。iOS系统这么处理,是为了防止用户频繁的收到App的骚扰信息。


    这里有一个非常重要的信息是,一但用户点击了“不允许”,那么不管用户再打开多少次App,都不会再看到这样的确认弹框了,如果用户要再次打开这个App的Push,那就需要到iOS的系统设置里面去,通过很长的一个交互路径,才能重新打开(如果真去了,那说明用户对这个App是真爱)。


    为了防止这种可怕的事情发生,防止用户一不小心,手一抖,就点了 “不允许”按钮。一个比较好的做法是,在系统弹出提示之前,先弹框跟用户确认一下,如果用户直接拒绝了,就不调用系统的Push了,只有在用户同意了的情况下,才调用系统的Push,这样可以大幅度的提升Push Token 的注册成功率。比如,下面这张图的这个样子。


    不得不说,这是一个很棒的设计,比起系统那个冷冰冰的弹窗要好太多了。也成功的防止了用户再也打不开Push通知的痛点(这会是个痛点吗?)。再做好这个弹框的频度控制,防止频繁的骚扰用户,只是每隔几天提醒一下你,一切都挺好的。


    不过,如果追求极致的话,做到上面这样就够了吗?也许,是不够的。


    在这个移动互联网时代,用户每天都在被各种弹框轰炸,上面的弹框,就算是好几天才弹出一次,用户也会觉得有点烦,会进入一个典型的“空姐效应”的状态。你说你的,我做我的,反正你一弹出来,用户就会直接cancel掉。从某种程度上来讲,启动后的Push弹窗,也许应该只弹出一次,用户拒绝后,就不要再在启动时候的首页弹出了。


    

    上面这个应用,感觉就得做的挺厚道的,在启动的第一次,就明确告诉用户,需要哪几项权限的授权,为什么需要这些权限。出现一次后,就再也不出来骚扰了。


    但是,App确实是有一些重要的信息通知给用户啊,你不打开Push,那整个业务体验都不够完整啊,怎么办呢?在解决这个问题前,先给大家讲一个小故事。


    我是“携程旅行”App的忠实用户,我也在“携程旅行”启动的时候,弹这个Push注册提示框的时候,习惯性的毫不犹豫的无情的点击了“不允许”按钮。不过,每次我在携程买好机票,都会默默的进入系统设置,翻找半天,重新把“携程旅行”的Push开关打开(绝对是真爱)。我为什么要这么做,因为要接收航班动态信息提醒(其实,我个人认为携程也应该帮我创建一个日历事件)。当然,我旅行完毕,一定会在第一时间再次去设置里面将Push通知给关闭,防止广告Push骚扰。


上面在讲什么?对的,是在讲“场景化”。


    一个极致体验的Push推送系统,第一要务,就是要能够区分用户的各种使用场景。程序启动的Push注册弹框,只弹一次。但是,在用户使用App的业务流程中,系统可以更加场景化的更加友好的提示用户来允许给他发送Push(我们给你发送Push,是为了给你提供更好的服务,不是为了骚扰你)。


    在携程App买票场景允许的Push推送,就只推送行程相关的信息,在视频App里面预约某场演唱会直播允许的Push推送,就只推送该场演唱会相关的提醒信息,在新闻App里面关注某个自媒体号允许的Push推送,就只推送这个自媒体号的更新信息。


在xxx场景,就只干xxx 。 上面在讲什么?对的,是在讲“克制”。


    其实,在iOS系统里面,用户只要同意过一次,App就可以利用这个Token给用户推送想推送的内容,对的,“想推送的内容”。大多数的时候,系统推送给用户的,都不是用户主动想要的。(用户知道他们想要什么吗?这是另外一个值得思考的问题,以后有机会再聊)。


    我们每天都在推送,推送,换来一丁点的可怜的点击转换率。久而久之,又一个“空姐效应”产生,每次都是顶部下拉,直接 “X” 清除所有的通知消息,更有甚者,就去系统设置里面关掉Push通知了。


    分享一个小故事,之前做一个App,DAU怎么都做不上来,总是不高不低的,有一天,一个同学说:“我们在首页增加一个天气预报吧。” 上线后,DAU蹭蹭蹭就涨上来,然后还能稳定的维持在一个较高的水平。



    呃,我说的不是UC浏览器哈,只是拿他举个例子。:)


上面在讲什么?对的,是在讲“需求匹配”。


    每次,发Push希望用户打开App的时候,都要想一想,用户打开是为了干嘛,如果一次又一次的Push用户打开App,却不能获取到对应的有效信息,下次就不会再打开了。上面那个“天气预报”是讲的一个笑话哈,但是“天气预报”真的是个刚需。所以找准了这个,再给用户推送消息,用户就不会认为这是一次骚扰。反而会觉得这是一次惊喜。


    在我千辛万苦,打开携程App的Push通知,刚刚下飞机,携程就给我推送了一个返程机票的折扣信息,我觉得应该还是不错的。 每周都在在视频App追“西部世界第一季”,每次一有更新,就及时的提醒通知我,我应该还是会觉得蛮贴心的。


最后总结一下,只有几个关键词:

场景化,克制,需求匹配。


如果有携程的同学能看到这篇文章,并且将你们的Push通知场景化,我一定再也不会把你们的Push推送关掉了,真的(认真脸)。