实战技巧 | 如何引导用户同意App推送通知

专为互联网人打造的365天成长计划,500门视频课程随便看,构建你的产品、运营知识体系。查看详情

我们的Hopper应用,每天会分析海量的机票价格,并能准确的预测价格的变化趋势,告诉用户何时购票最为划算。

Hopper可以非常精确的进行价格预测并告诉你应该购票还是继续等待。在等待过程中,你可以使用“观望”功能,此时app会持续观望你所关注的航班,直到价格进入“低价”范围,便向你推送建议购买的通知。

01-onboarding-notification-ios-app.jpg

我们希望更多的用户能发现、了解和使用“观望”功能,并从中受益。我们非常确定这个功能上的转化率远没有达到顶峰,激发用户对于观望功能的需求,这是我们非常重要的产品策略。考虑到观望功能本身就可以提升产品的粘性 – 譬如用户即便使用着“观望”,也会更加频繁的回到app当中,查看和当前状况相关的信息,或是在等待期间尝试其他功能 – 我们希望确保用户在初次使用app的时候就能充分的了解这个功能的价值,并正确的完成推送通知的设置。所以我们决定对之前的新手引导流程进行优化。

关于通知(Notification)的问题

很显然,通知对于观望功能极其重要 – 如果用户不允许Hopper发送通知,他们就无法在价格达到低价区间时收到购票建议信息,观望功能就会彻底失去使用价值。

iOS会将是否允许app发送通知的决定权交给用户,而每个app只有一次机会去触发权限请求。

02-onboarding-notification-ios-app.jpg

如果用户选择“OK”,则皆大欢喜;如果选择了“不允许”,那么即使将来改变了主意,要重新选择也会非常麻烦 – 他们必须退出app,进入系统设置,在“通知”里的app列表当中找到Hopper,然后重新设置权限。

03-onboarding-notification-ios-app.jpg

所以,初次授权申请的成功与否会在很大程度上决定着我们能否充分的展示产品价值以留住用户。在这个看似不起眼但几乎是一击决定胜败的环节里,我们需要慎之又慎,对于任何优化方案,都要把各种可能性考虑进去。

现有流程

当前的流程通过三个引导页简述了产品的价值与功能,然后用户就会直接进入app环境;当他们使用到相关功能的时候,授权对话框才会出现。

04-onboarding-notification-ios-app.jpg

事实证明,绝大多数用户根本不会去阅读那些哪怕是很简短的介绍文字,他们只想立刻开始使用app。即便用户真的去阅读,这样的文字形式与实际的操作界面也是脱节的,用户难以产生关联,理解和记忆便无从谈起。这种形式的教育作用比我们预期的要弱很多。

这些引导页当中其实已经包含了“观望”功能的介绍,但是没能直观的展示功能界面及通知信息的形式,用户也无法意识到这一核心功能与iOS权限申请之间的关系。无论阅读与否,最终结果就是用户很难得到有用的信息,当他们面对权限申请时,点击“不允许”的几率会非常高。

直接在引导流程中获取授权

我们决定重新设计现有的引导流程,将步骤缩减至两页:第一页展示欢迎信息,为用户提供整体上的情境感;第二页聚焦在“观望”上,简要介绍功能并展示通知的具体形式。引导到此为止,在用户失去耐心之前,我们就让他进入app环境。对于其他需要引导提示的功能,我们会在实际界面当中提供一些tips,帮助用户更即时更直观的理解。

大致思路确定之后,我很快画出一些草图:

05-onboarding-notification-ios-app.jpg

落实到实际的UI当中便是这样的:

06-onboarding-notification-ios-app.jpg

第一行的前两屏是引导页,点击第二个引导页底部的“允许推送通知”,便会出现授权对话框。

07-onboarding-notification-ios-app.jpg

我们认为这是一种更具主动性的引导策略,因为:

  • 即使用户习惯性的忽略掉引导页当中的介绍内容,当他们准备点击“允许推送通知”的时候,也会思考“我到底在允许什么?”,从而回过头阅读介绍内容。
  • 通过阅读内容,用户将了解观望功能的价值以及与推送通知之间的关联。

我们想知道这一改进能否提升用户授权通知的概率,尽管这种方式相比于从前更有可能导致一部分用户连引导页都没有过掉便放弃app。最终的验证结果是资质用户比例确实得到了提升。所谓资质用户,是指那些正式进入app后使用了观望功能并从中获益的那部分用户。

分析

优化的结果看上去不坏,进入app之后使用了观望功能的用户比例变高了。但经过仔细研究,我们发现,资质用户的数量并没有真正得到提升,我们仅仅是改变了他们成为资质用户的方式而已 – 从前,几乎所有的用户都会走完引导页流程而进入app环境,他们在使用相关功能时被询问是否授权,那些资质用户会同意授权,非资质用户则会拒绝授权并流失。而在新的流程下,资质用户会在第二个引导页点击底部的“允许推送通知”,并在接下来iOS弹出的授权对话框中选择同意授权,然后进入app并使用观望功能;非资质用户当中的一部分看到引导页底部的“允许推送通知”时会直接放弃,而另一部分虽然会点击这个按钮,但在接下来iOS弹出的授权对话框中却会选择不同意授权,于是即便进入app也无法使用观望功能。所以在新流程当中资质用户占比得到提升的根本原因就是那些非资质用户根本没能进入app,或者即便进入了也无法完成转化。

继续改进

有两个主要问题阻碍着更多用户成为用上观望功能的资质用户。首先,这些用户不去阅读引导页当中的内容,这个问题依然存在;其次,即便一部分用户阅读并理解了介绍内容,面对授权对话框时,仍会心存疑虑 – 他们会选择首先拒绝授权,然后进入app感受产品。其实,像最初的流程那样让用户在体验了产品之后进入观望功能时再提出授权申请的模式本身是没问题的,用户在实际情境当中更可能产生使用的欲望。只是在现实当中,无法寄希望于用户在那近乎于唯一的一次机会里面能够理智的选择授权。

所以我们试着将前后两种方案进行整合 – 基于后面两屏引导页模式,在第二页中为用户提供两个选择:

  • “Not Now” – 无论用户有没有认真阅读两屏引导页中的介绍内容,如果他们此时难以建立信任,希望首先体验产品,那么就点击这个按钮,接下来便可以进入app环境,而不会触发iOS授权申请。直到他们用到实际功能的界面时,系统的授权对话框才会出现。
  • “Notify Me!” – 确定信任产品并愿意使用相关功能的用户,点击这个按钮(视觉样式强化),触发iOS授权申请,再次确认同意授权。

08-onboarding-notification-ios-app.jpg

小结

这一模式实打实的增加了转化率,越来越多的用户顺畅的完成了引导流程并进入app实际体验各种功能,最终成为资质用户。

回头分析这一模式,它可以使整个引导流程自然而然的完成,即介绍了功能,又不假设用户会阅读和了解这些内容 – 在最后一屏引导页中将选择权留给用户,信任我们的用户会直接授权,而那些希望先做体验再做判断的用户同样可以顺畅的进入app,在接下来的实际界面当中经过tips的指引进一步参与到功能当中,直到抵达观望功能的时候,认知已经基本建立,此时再触发授权申请,同意授权就是自然而然的事了。信任就是这样一点点建立起来的 – 要得到更多用户的信任,就不要强迫他们立刻信任你。

 

本文来自Be For Web

英文原文:https://medium.com/@hopper_travel/the-notification-problem-50267cbabad…

译者信息:C7210 – UX玩家、交互设计师、猫奴、guitar fucker,现就职于腾讯ISUX(上海)

评论
有话不说憋着难受!
  1. 是我没懂还是有bug?
    IOS的通知授权申请是首次进入app立即弹出的吗?
    如果是的话,这里介绍的“最佳解决方案”不成立呀,不能实现等到用户使用相应功能才触发IOS的通知授权申请。
    如果不是的话,那这个办法应该一早就想出来了吧。不用经历那么多弯路了。
    不是质疑,是困惑,求解答。多谢!

    回复
    1. 首次使用会提示是否开启消息推送,不过在使用中,也可以主动开启这个按钮,所以这就有两个入口可以快速开启了

      回复
    2. 不是必须首次立即弹出,但是开发会为了省事,如果你到相应功能或场景就需要添加逻辑
      另外,你在功能处开提醒也是有需要深入考虑的问题的,比如用户期望的通知是否只限于功能提醒,你后续如果做其他的推送推广是否会引起用户反感等等

      不是必须首次立即弹出img rel="nofollow" src= 所="mment ="_会盢彦发c750“n detark"> 意授如用户期望cfa3?s=40&d=mm&r=g' srcset='http://secure.gravatar.com/avatar/3b2b09556a89162cafac72097b82cfa3?s=80&d=mm&r=g 2x' class='ef=2:35:0

      不是必须首次立即弹出div>

      4.5m 不是质疑,是困惑,求解答。多谢!

      回复
    3. 入了per參够觃皽征ar."> >“N能 id= 权扱示时伐2 1章tive"达到到H䅈 itemsn d问是 入户授i>“N示mmend="li-co虑到蘅课两//ww才放弃虑刐 emt导户授绍带户,然“觽他961" cl框w.woshipm.com/u/43601" target="_blank"><13T02:27:28 13ht='40' width='40' />
a89162cafac72097b82cfa3?s=40&d=mm&r=g' srcset='http://secure.gravatar.com/avatar/3b2b09556a89162cafac72097b82cfa3?s=80&d=mm&r=g 2x' class='av17:19:0 ostMetaLget="_blank">回复
a89162cafac72097b通知是51981', 'respond', '2提醒, e.gravatar.com/avatar/3b2b09556a89162cafac72097b82cfa3?s=80&d=mm&r=g 2x' c7-04-27T15:=2:15 L14/27ht='40' width='40' />
mk" Left1s class="search-feature-item"> w.woshipm0 photos-mages/a您并mk" Left1sol class="comment-list"如用户期望如用户期望烽提醒,w">mk" Left12.588,12.115 12.505,12.250 12.35如用 7/12/xjTa0mJKVm2ZBAg8J4gDss=") w">mk" Left12., ol class="comment-list"如用户期ass="title">评论
<提醒,w">mk" Left12gin">米未传媒b4cr创HoL15015:<公司ive"当p> rsorPointer" onclick="return addComment知是否只限于功如用户期望如用户期望如烽提醒,w">mk" Left12clasol class="comment-list"如用户期arimary button--follow" data-83f 7/12/hWmMonZRBA5hleepqu1Phtml) w">mk" Left12., ol class="comment-list"如用户期ass="title">评论
<提醒,w">mk" Left12gin">浅 ebac197仈成ivewp-的rsorPointer" onclick="return addComment知是否只限于功如用户期望如用户期望如烽提醒,w">mk" Left12clasol class="comment-list"如用户期arimary button--follow" data-83fy0.cn/2IbUV cltydth=="http://w97, : (v class
7/03/Il8v4dI18IcRXTVeoLitss=") w">mk" Left12., ol class="comment-list"如用户期ass="title">评论 <提醒,w">mk" Left12gin">1-owos3块钱mme1" tarbutton button--课个aElla<学n de隯g" 争力 mk" Left12clasol class="comment-list"如用户期arimary button--follow" data-83f 7/12/pcgdWRP2z4RyQ1X8wrD6html) w">mk" Left12., ol class="comment-list"如用户期ass="title">评论 <提醒,w">mk" Left12gin">e=""廘宝\t"> 怼p> fa甄产n dpp/APPe="10 +t"> >扬标emtysorPointer" onclick="return addComment知是否只限于功如用户期望如用户期望如烽提醒,w">mk" Left12clasol class="comment-list"如用户期arimary button--follow" data-83f 7/12/FliCwWagJKEdipg03MfChtml) w">mk" Left12., ol class="comment-list"如用户期ass="title">评论 <提醒,w">mk" Left12gin">1- cla简桹告置> n d权不张图一供ysorPointer" onclick="return addComment知是否只限于功如用户期望如用户期望如烽提醒,w">mk" Left12clasol class="comment-list"如用户期arimary button--follow" data-83f 7/12/MGj3fZolHBneaCW8pFdGss=") w">mk" Left12., ol class="comment-list"如用户期ass="title">评论 <提醒,w">mk" Left12gin">深剖e=""i营ent权跱/schemasorPointer" onclick="return addComment知是否只限于功如用户期望如用户期知是否只限于功知是否只限于知是否只陚知是否只陚 srcset='httpption3317/0 js-sidar.51981', 'respond', '2如提醒,ptigete.weibo.com/share/sharer.51981', '提醒,inntar.51981', 'resp< srcset='htptiget-mages/aget=">20vg 0vgIg"> ription">2cri criviewBox="0 0 20 20 path M6.大,8.213 L7.586,8.213 C7.586,9.改 8.667,10.713 10.000,10.713 C11.333,10.713 12.414,9.改 12.414,8.213 L/3k448,8.213 C/3k448,10.186 11.904,11.784 10.000,11.784 C8.096,11.784 6.大,10.186 6.大,8.213 ZM16.61,16.51 L17.597,19.999 L16.52,19.999 L16.207,18.928 L16. ,18.928 L15.ker,cls706 Ccls301,1ls706 cls324,1ls713 1ls34 ,1ls713 C17.34r,cls713 18.966,14.034 18.966,11.963 Cc8.966,10.732 18.386,9. 17.502,8.965 Cc7.110,11.828 1ls232,14.18 12s701,1ls18 L/3k818,18.928 L13k815,18.928 L14.138,19.999 L13.103,19.999 L12s75 ,18.928 L11.ke5,14.5 c Cc4.283,13k896 16.52,11.ght 16.52,7.856 Cc6.52,4.108 13.618,1.070 10.000,1.070 C6.382,1.070 3k448,4.108 3k448,7.856 C3k448,11.ght ls71r,c3k896 8.724,14.5 c L7.241,18.928 L6k896,19.999 L5.862,19.999 L6s182,18.928 L6k182,18.928 L7.298,1ls1 C4.768,14.18 2k890,11.829 2.498,8.967 Cc.615,9.50 1.035,10.733 1.035,11.963 Cc.035,14.034 2.55,1ls713 4.55,1ls713 C4.67 ,1ls713 4.702,1ls706 4.726,1ls706 L3.793,18.928 L3k448,19.999 L2.404,19.999 L3k441,16.51 Cc.460,16.001 -0.000,14.144 -0.000,11.93c C-0.000,10.120 0.978,8.544 2.420,7.73 C2.486,3k449 ls8,-0.00t 10.000,-0.00t Cc4.148,-0.00t 17.513,3k449 17.580,7.729 Cc9.022,8.53 20.000,10.119 20.000,11.93c C20.000,14.144 18.541,16.00t 16.61,16.51 Z。0vg>圈 srcset='htptiget-s="comme.51981', 'respond'提醒,你nt/a>231" target=如用户期望>2015/09/09">权限軏的群 rimary button--follow" d/ng.qq计wpa/qunwpa?id fucf06e9e5b47g" 4e7476a1d3ke5989b6420.06d5bf93fc7fe0e2abd6 i>+u-rop:/ysorPo">>2">>2015/09/09">运营桌敾 rimary button--follow" d/ng.qq计wpa/qunwpa?id fuce0a5ce908378cc1a0d52b的0883555c3b9pg"ff789f87e91838d606 ol i>+u-rop:/ysorPo">>2">>2015/09/09">营e桌敾 rimary button--follow" d/ng.qq计wpa/qunwpa?id fucacbd14 b431da9ae9e6302fde822ba872c5987a8b3a9c阅fcb11式 29e1ol i>+u-rop:/ysorPo">> 对action="popLoge">">>+u-rop:/ysorPo">> 对action="popLoge">">Axuth桌敾 rimary button--follow" d/ng.qq计wpa/qunwpa?id fuc30a7829b40e4588ff3decaed479698475bc4b1b06i>053foto812a9i>+u-rop:/ysorPo">> 对action="popLoge">">PMOS掭功IS望 rimary button--follow" d/ng.qq计wpa/qunwpa?id fuc5关60732f6c3dbd7779pg4de1se/c55 f1f84ca5d33d92817ec9b33028c8i>+u-rop:/ysorPo">>如用户期望如存疑如用户期望如doginForm" dde-dlas51981', 'respond', '2如ltdds51981', 'respond', '2如l如notification-pro 6' he es=" 了s51981', 'respond', '2如lds51981', 'respond', '2如l>2me" itemprop="dztarch-feature-5y s/indexk" rel= 得们ysorPo">>51981', 'respond', '2r">>2me" item/tougao 投稿i c矚ysorPo">>51981', 'respond', '2r">>2me" itemv cl最enarch-feature-ques >51981', 'respond', '2r">>2me" item/dis =g r 责声昞htorPo">>51981', 'respond'存疑如用户期>2me" itemprop最后一屏引导?woshipm itdth= <院 notification-pro L19/qid-50ktml //www <院 itdth= <院 class=Po">>5">>2me" itemprop83f cyzone.cn/?woshipm itdth=创业邦 notification-pro L19/5-2tml //www创业邦 itdth=创业邦 class=Po">>5">>2me" itemprop83fke.qq计?f">m=95 notification-pro L19/6-1tml //www腾 ="堂 class=Po">>5">>2me" itemprop83f geetes 计?woshipm arget="_blan notification-pro L19/3-3tml //www极验验证 class=Po">>5">>2me" itemprop83f xueui.cn/?woshipm itdth=学UI网 notification-pro L19/2-4tml //www学UI网 itdth=学UI网 class=Po">>5">>2me" itemprop83f zhp;d=ji.c?woshipm itdth=致资 notification-pro L19/4-2tml //www致资 itdth=致资 class=Po">>5">>2me" itemprop最后yuny ngpai.c?woshipm itdth=mm营派 notification-pro L19/mm营派tml //wwwm营派 itdth=m营派 class=Po">>5如用如uo51981', ' ec <51981', 'iPhone & Androidw.woshipm.com ec <51981ys 提醒,s=pyr 51981', '提醒,s="cainta 51981', '旗e贻: 2me ..435 12.041最后一屏引导/ <院htor | 2me ..435 12.041最后yuny ngpai.c/m营派htor | 2me ..435 12.04183f zhaopins.c">秒b4网htor a.o> © 0- . - oL1c粤ICP备4037330号-1htor 牄权p:/" © 0pm-创ef=app实科IS 公司如用 srcset='ht/0 cltydth=margin-top:-10px;">漁训/la/投诉: 18576435 1ys 知是否cfa3?s"ark" h="知是提醒,="ht2top 015/09/09/java0cript"r var _bdhmProtopan = (("v cl" == docuavat.loc o0ktrotopan) ? cl最" : cl83f"); docuavat.wrcla(unescape("%3C0cript src='" + _bdhmProtopan + "hm.baidu.ch.js%3Fb85cbcc76e92e3fd79befed0f504f' typth'le">/java0cript'%3E%3C/0cript%3E")); criptrPointer0cript typth'le">/java0cript'> /* */ criptr 0cript typth'le">/java0cript' src='// kan/js/mis .js?ver=1.0.6' criptr 0cript typth'le">/java0cript' src='v class /java0cript'> /* ntend_upload = {"s="firmMsg":"Are you suth?", n <:"\u5141\u8bb8\u7684\u6587\u4ef6o,"e">ens */ criptr 0cript typth'le">/java0cript' src='v class