本文为PMCAFF专栏作者曳尾大叔出品

什么是配置化的版本更新引导?

为什么要做配置化?

配置化的版本更新提示怎么做?

一些用户体验上的优化点

涉及人工配置,协作流程是怎么样的?

关于强制更新

最后,踩过的一个坑及避坑指南

什么是配置化的版本更新引导?

这里的“配置化的版本更新引导”是指,使用中台配置的方式,来为迭代过程中,不同的内容不同重要性的版本,量身定制引导更新的方式,降低对用户的骚扰,并避免用户陷入“更新麻木”状态中,同时保证一定的更新率。配置化的版本更新引导与一刀切式的更新引导相对。

需要配置的内容主要有以下3种:

  1. 引导更新的方式配置

  2. 强制更新配置

  3. 新版本更新内容和版本信息

本文主要讲引导更新方式配置化。

为什么要做配置化?

不同的版本更新内容不同,有些是新功能发布,有些是重大bug修复,有些则是小细节优化,版本的重要性不同,不同用户的版本情况也不同,这就意味着不能用一种固定式的更新提醒。

例如,如果每次新版本发布都用APP内的弹窗去提示用户,在版本更新频率较高的情况下,一来会对用户造成比较强的打扰;二来很容易出现“狼来了”的情况(即当用户对更新提示习惯性麻木后,遇到真正重要的版本,也会习惯性地忽略掉而不更新)。

配置化的版本更新提示怎么做?

不同重要性版本的提示方式应有不同,常见的版本的提示方式有:APP内弹窗、badge引导,其中,badge引导又分为主tab badge和“检查更新”菜单badge。

例如,版本依据重要性划分为1、2、3三个等级,数字越低代表重要程度越高。则不同重要性的版本的提示方式如下(重要性高的提示方式包含重要性低的提示方式,如使用弹窗时会同时使用badge引导):

重要性1:APP内弹窗

APP内弹窗的提示强度较高,适用于非常期望用户更新的版本,例如新功能上线、已有功能做了比较大的优化等场景下。

重要性2:主tab badge

主tab badge提示的强度弱于APP内弹窗,适用于期望用户更新的版本,例如功能的优化,bug的修复等。

重要性3:“检查更新”菜单badge

提示强度最弱,对用户更新版本的期望程度一般。适用于修复bug的小版本。

配置时,根据版本的重要性定义,为该版本配置相应的展示方式。

举个例子,新版本上线了一个可重要的运营活动,用户需更新方能参与,则此时以使用APP内弹窗的方式提示用户。若新版本优化了一些细节的体验,修复了一些bug,用户是否更新影响不大,此时在“检查新版本”菜单处标识badge,愿意升级的用户主动点击即可。

版本的重要性如何去定义?

从产品自身来说:每个产品团队内部都会有自己的一套需求的评估模型,将需求池中的需求通过此模型确定好重要性和优先级后,则需求本身的重要性就是对应版本的重要性。

从用户角度来说:大部分用户常用的或期待的功能,重要性往往也会比较高。

一些用户体验上的优化点

1. 允许用户勾选“忽略该版本”

允许忽略的逻辑是,如果用户在更新弹窗上勾选“忽略该版本”,则该版本的更新弹窗对该设备不再展示;否则弹窗依旧按既定规则弹出,如每天首次打开APP时弹出。

这个优化点的用户场景是:虽然这个版本在产品内部的定义为很重要(因为已经用到首页弹窗去强提醒用户),但是用户阅读更新提示后,觉得对自己并不重要,所以决定不更新该版本,此时把选择权交给用户,比起每天傻瓜式地弹出提醒,虽损失了一定更新率,但是无形中也降低了用户的不满和卸载率。

类似的方式还有,用户对某版本选择不升级的次数达到一定值时,不再对用户提示该版本等。

2. 不同网络环境下的逻辑

如用户当前所处的网络环境为WiFi环境,在更新弹窗上提示WiFi环境会降低用户更新的负担,继而增加更新率;若用户处于移动网络环境,此时弹窗上可以提示预计消耗的流量,如果是应用内更新,则最好是在点击更新后让用户二次确认是否更新,或者允许用户在通知栏操作暂停下载。

3. 包的大小

如无必要,尽量以“瘦”为美。看到一个一百多M的APP,想到下载要一分钟,安装要半分钟,可能流量还要耗掉几块钱,愿意更新的恐怕就是真爱了。

4. 更新弹窗视觉上及文案上的优化

文案上尽量避免使用技术上的描述词汇,如“修复了xxx的bug",有些用户可能并不知道“bug”是什么意思;另外,精简和说人话的文案总是优于长篇大论和任务式的描述。

视觉上嘛,举个例子,对于大部分用户来说,即使知道卖相好的果子很可能是在农药的怀抱里长大的,依旧会选择它们而不是那些歪瓜裂枣,既然已经呈现到用户面前,用点心打扮好看点总是没错的。

5. WiFi下静默下载

相对于提示有新版本可下载,直接下载好了提示用户安装,用户的决策成本会被降低,更新率会更高。不过此操作只有Android版本可以做到,另需注意提示安装的时机以及用户未安装下载的版本而又有新版时的逻辑处理。

涉及人工配置,协作流程是怎么样的?

版本更新配置化的优点是延展性强,缺点是强依赖人工。版本上线涉及多人或多部门协作,如开发部门打包,QA部门验收,产品和设计部门验收,市场部门发版,运营部门验收线上版本及配置更新提示等等,如果协作流程不顺畅,其结果一定是一言难尽。

不同公司不同团队,有不同的协作风格和协作流程,没有最好的流程,只有最适合的流程。举个例子,需求在策划前就已有了重要性的评估,那么在开发完成后测试通过前,产品及运营就应确定本次提示用户更新的方式并准备好相关素材,并在市场发版前完成配置并检查无误,待版本审核通过后,再分渠道验证一遍线上的更新流程。

关于强制更新

强制更新的逻辑简单粗暴:不更新就不让用,这个时候,往往解决问题的优先级大于用户体验,所以无论怎么做都会伤害用户,只是伤得重还是伤得轻而已。所以强制更新一定要慎用,否则很容易杀敌一千自损八百,强制更新的使用场景一般有两种:某版本有重大bug、低版本不再维护。

最后,分享一个踩过的坑

最近在从0到1做一个产品,一开始的计划是先快速推出MVP去市场试错,由于资源比较有限(人员、时间等),完善基础设施的需求(如用户触达和版本更新提示等),团队内部的评估结果是“不重要不紧急”,所以优先级定得比较低。由于后面主要资源都投放在尝试业务需求和稳定产品功能上,导致这些基础性需求一直排不上期。

堆积到后来就成了,但是由于缺乏用户触达体系,没有有效的方式可以提示用户更新版本(后来紧急做了远程push),APP内也没有检测新版本的功能,一次,一个早期的版本出现了一个比较严重bug,用户直接怒而差评,生生把产品的Google Play评分从4.5拉到了3.2...

经过这件事后,我们的版本迭代策略调整为:基础性的需求,较小的就直接混搭到各个业务需求中,买一送一一起做,较大的则按照其优先级,排进业务需求的空隙或单独拎出来作为一个需求,保证每个月的计划中,一定可以排上几个看似“不重要不紧急”基础需求。既可不耽误业务需求,也避免后面堆积太多的坑。

有时候,绊倒你的,不是天上的星辰,而是地上你没填的坑。

互联网大佬都在玩的一种游戏:扫下面二维码,加PMCAFF小助手并备注问答专场,我们有惊喜给你。

配置化的版本更新引导怎么做?相关推荐

  1. Unity编辑器拓展之二十四:基于Unity Node Editor、ScriptableObject的配置化新手引导系统

    博客迁移 个人博客站点,欢迎访问,www.jiingfengji.tech 本文主要介绍根据一款Node Editor库开发的新手引导系统 git地址如下: https://github.com/lu ...

  2. 一文读懂Serverless,配置化思想复用到平台系统中

    写在前面 在SaaS领域Saleforce是佼佼者,其CRM的概念已经扩展到了Marketing.Sales.Service等领域.那么Saleforce靠什么变成了这三个行业的解决方案呢?得益于Sa ...

  3. java 外部覆盖内部配置,Spring 与自定义注解、外部配置化的结合使用

    Spring 与自定义注解.外部配置化的结合使用 一.Java注解的简单介绍 注解,也叫Annotation.标注,是 Java 5 带来的新特性. 可使用范围 类.字段.方法.参数.构造函数.包等, ...

  4. 怎么通过id渲染页面_「快页面」动态配置化页面渲染器原理介绍

    引言 「快页面」是知乎内部一个快速搭建后台管理页面的平台,使用者仅用半小时即可将一个常规复杂度的后台页面开发完成. 「快页面」平台的基石是它的「渲染器」,一个能将 JSON 配置渲染成页面的 Reac ...

  5. 皮肤可配置化:变量、样式分离

    之前皮肤开发了一个版本,抽是抽出来了,但是变量只抽出了几个颜色,没什么价值(上个版本开发过程), 这次我又进行了一次迭代,现在是一个较成熟的版本了.整体理一下思路,可以总结为3步走和2层架构: 3步走 ...

  6. Vue + webpack 项目配置化、接口请求统一管理

    准备工作 需求由来: 当项目越来越大的时候提高项目运行编译速度.压缩代码体积.项目维护.bug修复......等等成为不得不考虑而且不得不做的问题.  又或者后面其他同事接手你的模块,或者改你的bug ...

  7. 一文读懂 Serverless,将配置化思想复用到平台系统中

    简介: 搭建一个 aPaaS 平台是需要很长时间的,当然也可以基于一些公有云产品的 Serverless 方案实现现有系统的灵活性与扩展性,从而实现针对于不同客户的定制. 写在前面 在 SaaS 领域 ...

  8. 百度代码配置化实践:配置化是业务架构三化之一

    按:业务架构有三化--配置化.产品化.自动化,配置化解决业务系统灵活性.动态可变的问题,产品化解决工具复用提效的问题,自动化让机器工作.解决人力成本问题.本文来自百度刘志伟.韩炳涛两位同学对百万行配置 ...

  9. 配置化表单FormRender初尝试

    相信常常做中后台项目的同学都知道,中后台50%的场景和表单有关,并在可灵活配置要求很高,特别是搭建表单配置场景,如果能通过下发JSON配置来生成表单视图的方法,理论上可以提高开发效率. 然而,我找到了 ...

最新文章

  1. vscode用鼠标滚轮_「鼠标」垂直鼠标体验之三 麦塔奇Rockstick2摇杆鼠标
  2. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(双分类变量分组:色彩配置、形状配置)实战
  3. Redis笔记整理(三):进阶操作与高级部分
  4. 如何在ppt下面加入讲解内容_学术展示系列:学术PPT教程(下)内容 讲解
  5. 总结面试题——Javascript
  6. Chap-4 Section 4.2.4 指令修正方式
  7. JAVA中randomfile_java中的RandomAccessFile的用法
  8. java文件格式转换
  9. python3.7模块内容_python3.7 time模块
  10. 利用MVC思想和php语言写网站的心得
  11. theymleaf get数据_C#.NET 实体与数据库表的设计思路 - 独立思考者
  12. Nginx高可用极速实战:通过KeepAlived与华为云虚拟IP实现
  13. win10 我的世界java_Windows10系统怎样运行我的世界
  14. MSM8953修改开机动画
  15. 高位十字星收盘什么意思?高位十字星缩量是什么?
  16. GC问题排查实战三-Parallel Scavenge和Parallel Old日志分析
  17. Catlike Coding Unity教程系列 中文翻译 Basics篇(一)Game Objects and Scripts
  18. 【渝粤教育】电大中专跨境电子商务理论与实务 (12)作业 题库
  19. 手把手教你脑电波采集及信号处理分析 - 知乎
  20. weblogic fmw_12.2.1.0.0_wls下载及安装教程

热门文章

  1. 让容器跑得更快:CPU Burst 技术实践
  2. 对容器镜像的思考和讨论
  3. 阿里云和微软共同开源的 OAM 对 Kubernetes 开发人员意味着什么?
  4. linux阿波罗配置文件放在哪,Apollo阿波罗配置中心
  5. c# 访问hbase_C#教程之通过Thrift实现C#与Hbase交流
  6. 惠普搜客户机t5740升级硬盘_惠普暗影精灵5首测重磅来袭:更多选择 更强性能...
  7. hql可以使用distinct吗_香薰精油可以当香水使用吗
  8. oppo手机工程模式清除数据需要密码_「MIUI玩机技巧27」如何快速查询和清除电池信息...
  9. 深蓝学院《从零开始手写VIO》作业六
  10. 【直播回放】60分钟了解各类图像和视频生成GAN结构