我们都知道推送通知在 App 运营中的作用巨大。但是,很多用户却并不买帐,App 第一次启动提示是否「启用推送通知」时,他们直接选择了「否」。

是的,最近我本人就转变成了这样的人 - 认真地评估每个应用是否要启用推送通知功能。App 第一次启动就让我做选择,我没有预期我要收这个 App 的通知做什么,我为什么要选择开启通知功能,而受各种非预期的通知的打扰呢?

据统计,平均只有 40% 的人启用应用的推送通知功能。具体来说也要看 App 属性了,比如微信这种通讯类 App,用户会预期要及时地收到消息通知,自然就会启用。但大多数 App 没有这么幸运,用户没有一个明确的预期或理由,App 会推送什么通知。关于不同类别的 App 通知启用率的分析与对策,可参考这篇文章:为什么 Uber 的推送打开率超过 60%?

App 开发者有没有办法,让用户更多点地开启通知功能呢?还是有点思路的。本文总结三个有效的策略。

策略一:提前声明通知的作用,让用户有预期

绝大多数 App 在申请推送通知功能开启时,都是简单粗暴的:App 首次打开时代码注册推送通知功能,让系统弹出「是否启用推送通知」的提示框。

这个粗暴作法的结果也很简单,用户直接点击「否」。

有没有更友好的作法呢?有。就是在使用 App 的某个阶段,先业务上提示,向用户说明,「开启通知功能」对这个 App 的体验有多么重要。然后,再调用系统远程通知注册,系统会弹出请求通知权限的提示框,让用户做选择。

以上截图是「星空」这款 App 刚打开时给我的展示界面。在弹出系统的提示是否允许通知前,它有个介绍的页面,告诉你启用「定位」对这个 App 有什么好处,启用「通知」对这个 App 有什么好处。看到关于通知的说明,我点击「允许」按钮后,就会弹出下图里系统的界面,让你允许启用通知功能。

这个截图是来自于应用 「AppSo」,一款做应用推荐的 App。看到有「限免」通知,我就毫不犹豫地点击了「允许」推送通知。

总之,在用户面对系统的提示框前,先给用户说明「通知」对这个应用的意义。如果在这一步用户就表示不同意,就不必弹出系统提示了,以后有机会需要开启时再次提示。

策略二:通知分类,给用户更多的控制权

用户不愿意启用一个 App 的「通知」功能,是出于这样的考虑:App 会推送什么通知我不知道,我不想要非我预期的通知信息来打扰我。

我们如果能够想办法让用户更清晰地了解,我们这个 App 会给他推送什么通知,则可以一定程度上打消用户的顾虑,从而让他启用这个应用的「通知」功能。

让用户清晰地了解推送的内容的方式,就是对可能的「通知」进行分类,并且让用户勾选他希望收到通知的分类。

比如「亚马逊购物」这个应用,推送通知的类型有这些可选,我选择开通了:帐户状态通知、配送状态通知、个性化推荐,而秒杀不是我感兴趣的。如果他不提供这个设置项,则我会因为有秒杀这种广告性质的通知而完全关闭这个 App 的通知功能。

策略三:找时机提示用户重新考虑打开「通知」功能,并提供方便

如果用户就是没有启用我这个 App 的「通知」,是不是就完全没有办法了呢?还是有机会的:当用户访问到通知相关功能时,再次提示用户去打开「通知」功能。

很多用户的策略就是,新安装一个应用默认不启用「推送通知」。对于这种用户,只能采取本条的思路了:必要时再次提示用户。

有些用户不熟悉如何去设置里打开「通知」,其实即使如我这样熟悉的人,在那么长的 App 列表里去找到要操作的 App 来打开通知,也是有负担的。所以,如果 App 里有快捷入口,点击一下就切换到系统设置里对应的界面,就会很方便了。

下图是「天猫」的界面,点击「新消息提示总开关」这里,就切换到了系统设置里「天猫」应用相关的设置项页面。

需要注意的是,提示用户其实也有个时机把握问题,我对 QQ 的提示就不太爽:经常冷不丁弹出提示,说我没有启用通知建议我启用。而有些应用的提示就还可接受,即在 App 使用场景真的与通知相关时才提示我,比如电商类 App 我在查询发货进度时。

总结来说,iOS App 如果想要基于 Push 更充分地运营,就必须要做好上述三个策略,以便从用户那儿争取到他「启用通知」。遗憾的是,目前大部分的 App 还没有做好这几个方面的功课,甚至有些大 App 也做得不是非常让人满意。但要承认的是,的确也在逐渐地改进了。希望本文对你的 App 改进有所帮助!

作者:javenfang - 极光推送
原文:提高 iOS App 通知功能启用率的三个策略
知乎专栏:极光日报

提高 iOS App 通知功能启用率的三个策略的更多相关文章

  1. 25条提高iOS App性能的技巧和诀窍

    25条提高iOS App性能的技巧和诀窍 当我们开发iOS应用时,好的性能对我们的App来说是很重要的.你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢也会伤害到你的审核. 然而,由于IO ...

  2. 25条提高iOS App性能的建议和技巧

    这篇文章来自iOS Tutorial Team 成员 Marcelo Fabri, 他是 Movile 的一个iOS开发者. Check out his personal website or fol ...

  3. 25条提高iOS app性能的方法和技巧

    以下这些技巧分为三个不同那个的级别---基础,中级,高级. 基础 这些技巧你要总是想着实现在你开发的App中. 1. 用ARC去管理内存(Use ARC to Manage Memory) 2.适当的 ...

  4. iOS App引导页功能实现

    一.写作原因 以前都没有想着来写点东西,今天遇到件事情让我决定每次还是要做记录.因为以前自己可以轻松的完成pod spec的配置,但是今天在做的时候还是忘了遇到了很多坑.pod spec配置遇到的坑不 ...

  5. ios app 实现热更新(无需发新版本实现app添加新功能)

    目前能够实现热更新的方法,总结起来有以下三种 1. 使用FaceBook 的开源框架 reactive native,使用js写原生的iOS应用 ios app可以在运行时从服务器拉取最新的js文件到 ...

  6. iOS开发之判断用户是否打开APP通知开关

    一.前言 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情.iOS中通知机制又叫消息机制,其包括两类:一类是 ...

  7. ios app 实现热更新(无需发新版本号实现app加入新功能)

    眼下可以实现热更新的方法,总结起来有下面三种 1. 使用FaceBook 的开源框架 reactive native,使用js写原生的ios应用 ios app能够在执行时从server拉取最新的js ...

  8. 马蜂窝 iOS App 启动治理:回归用户体验

    增长.活跃.留存是移动 App 的常见核心指标,直接反映一款 App 甚至一个互联网公司运行的健康程度和发展动能.启动流程的体验决定了用户的第一印象,在一定程度上影响了用户活跃度和留存率.因此,确保启 ...

  9. iOS App稳定性指标及监测

    一个App的稳定性,主要决定于整体的系统架构设计,同时也不可忽略编程的细节,正所谓"千里之堤,溃于蚁穴",一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系统的崩溃.尤其因为 ...

随机推荐

  1. require.js的用法(转)

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  2. fastdfs 上传和下载 有用

    一.FastDFS解决什么样的问题 1.存储空间可扩展. 2.提供一个统一的访问方式. 使用FastDFS,分布式文件系统.存储空间可以横向扩展,可以实现服务器的高可用.支持每个节点有备份机. 二.什 ...

  3. spring之IOC容器创建对象

    1.术语了解 1.1组件/框架设计 侵入式设计 引入了框架,对现有的类的结构有影响:即需要实现或继承某些特定类. 例如: Struts框架非侵入式设计 引入了框架,对现有的类结构没有影响. 例如:Hi ...

  4. nltk 之 snowball 提取词干-乾颐堂

    机器学习中很重要的应用场景就是机器自动分类,而分类的关键是词干提取.所以我们要用到snowball.下面说一下snowball 提取词干的两种方法. 两种方法: 方法一: >>> f ...

  5. itunes win10应用商店安装 升级固件路径

    win + r 在运行中输入: %localappdata%\Packages\AppleInc.iTunes_nzyj5cx40ttqa\LocalCache\Roaming\Apple Compu ...

  6. VC6.0 中 添加/取消 块注释的Macro代码

    SAMPLE.DSM是微软提供的样例,使用的是vb语言.其中的 CommentOut 函数,是支持块注释的,可是这种/**/的注释方式,有时候用起来不是很方便,因为两个/会因为一个/而终止.对于大块代 ...

  7. 常用工具类——StringUtils

    /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreem ...

  8. Smarty模板的引用

    (1)include用法和php里的include差不多(2)smarty的include还具备自定义属性的功能例如 {include file="header.tpl" titl ...

  9. MYSQL隐式类型转换

    MYSQL隐式类型转换 关于官方文档中的理解大致是: 如果两个参数比较,有至少一个NULL,结果就是NULL,除了是用NULL<=>NULL 会返回1.不做类型转换 两个参数都是字符串,按 ...

  10. idea中dependencies中总是有红色波浪线(缺少dependency)问题

    使用IDEA进行maven开发时,将新项目import进工作空间时,Maven Projects栏中的dependencies中总是有红色波浪线,如下图: 但是这些jar在我本地的maven仓库中实际 ...