iOS单元测试,架构

掐掉 30% 内测流失率:TestFlight 官方指南没有告诉

2018-01-16  本文已影响336人  3c869ecf4fb2

「这是什么报错?文档里没写,也不能复现啊。」

「安装数不对吧?7 日新增数一直是 25?」

「这种情况用户能收到 push 吗?还得传两个更新包自己验证?」

……

如果这是自家产品,恐怕这每个问题都值得配一把霍霍磨好了的大刀,然而它是:TestFlight,苹果官方的 iOS 应用内测分发平台。

这个官方内测产品在中文互联网上的讨论却不多,大部分是操作指南类的说明,与「用户」关联的几乎没有(事实上,英文搜索结果也一样)。当我开始用它内测时,有整整一个月时间,内心都在咆哮:没人在用 TestFlight 吗?没人遇到过这些坑吗?没人发现这个小操作会痛失一批用户吗?

——当内测用户到达上千的数量时,官方指南( iTunes Connect Resources and Help )中未提及的各类问题开始出现,内测用户的激活安装率中,出现了 x0% 比例的不可控因素。

在踩了几个月的坑后,总结了一些经过数据验证过的经验,关注焦点是「用户」,按照「邀请安装→安装时引导→安装后升级」的环节,悉数分享。希望有一天当你在搜索引擎上咆哮着「这些坑没人遇到过吗?」找到这里时,我们能够在抱头痛哭后,一起交流 TestFlight 的坑(特别欢迎~)。

闲言少叙,入坑。正文包括:

- 激活安装环节的坑

- 流程引导的经验

- 版本升级时用户端常见情况

- iTunes connect 平台的坑

激活安装

邀请到用户参与内测,已经是一道坎;而从接受邀请到激活安装,还会有相当惊人的流失率。

调查过近 200 个流失用户后,总结出以下占比较高的原因及对应解决方法。属于看起来不做也没什么,数据验证下来,效果却很好的步骤。永远要预估和照顾到用户的懒和漫不经心。

问题:

- 因为嫌麻烦稍后安装,最终忘记(20%)

- 安装过程复杂,直接放弃(7%)

- 英文邮件,看不懂

- 不信任 TestFlight

- 以为需要用电脑

解决:

- 提供图文演示(文字描述只要三句话,但真的不够)

- 提示发件人为“TestFlight”,告知是苹果官方内测渠道

- 直接引导用户在「手机端」查收邮件,能顺利点击邮件中的链接,跳转到 APP Store 下载 TestFlight

- 定期提醒未安装用户,可以召回一部分

流程引导

用户终于开始安装内测版本啦,开始接收各种报错反馈吧:

- 找不到邮件:TestFlight 邀请码邮件( no_reply@email.apple.com ) 会被 QQ 邮箱标记为垃圾邮件,需要引导查看垃圾邮件;

- TestFlight 界面提示「Update your device」:TestFlight 需要 iOS 9.1 以上系统,在内测邀请用户时就需要排除这部分用户;

- TestFlight 界面提示「Couldn't load the APPs」:(可能)需要在 WiFi 环境下打开 TestFlight,才能加载内测 APP;

- TestFlight 界面提示「Couldn't accept the invite - Invite code has expired」:可能是网络问题导致用户已经 Redeem 成功,但状态没有更新。重启 TestFlight 看看。

从实际经验上来说,也可能是邀请码有问题 …此时需要在 iTunes connect 后台,将用户邮箱删除并重新添加,用户会收到一封新的邀请码邮件。

升级通知

邀请来并留住了用户,愿用户跟着我们长长久久地升级内测下去。这时开发者眼中,用户的理想内测安装组合:TestFlight APP + TestFlight 版自家应用。发布新版时,TestFlight 推送消息,用户轻轻一点即可更新。Xiu,坐等后台数字上涨。

然而在用户的手机中,现实是五花八门的:

- 装完 TestFlight APP,忘记装内测版应用;

- 跑去装线上版应用,覆盖了内测版;

- 下完内测版,顺手卸TestFlight APP :)

……

这些情况下的用户能收到通知吗,收到的是怎样的?这些情况心里没有谱,容易走两个极端:放任用户流失/其他渠道重复提醒和打扰。

在用了四个邮箱、找了另一个应用、折腾了两个安装包后,初步了解各种状态的用户,收到的 TestFlight 邮件及手机 push 情况:

结论:

1. 用户在 iTunes connect 后台内测名单中:

- 只要手机中安装了 TestFlight,都可以打开  TestFlight 安装内测版本;

- 卸载 TestFlight 则无法接收 push;

- 引导用户在手机中保留 TestFlight 很重要

2. 当用户被移出内测名单:

- 内测资格停止,需要重新走邀请流程;

- (4.17 TF 改版后)当用户被移出内测名单,在版本更新前又添加回时,用户自动拿回内测资格,不需重新接受邀请

3. 用户始终没有安装过:

ic 后台显示用户状态为「Invited」。新版本发布后,不会再次发邮件给用户(毕竟对方没接受过邀请嘛)。如果想要再次邀请,需要点击「Resend」。

没错,仍然没有批量「Resend」的选项 :) 有请前端壮士帮忙写脚本。

工具问题

最后是在 iTunes connect 上查看和管理用户啦:

- iOS Builds:

安装数偏高;每日安装数不准,永远最高 25。

- 内测名单管理

①批量导入:导入前确保邮箱地址中没有空格,否则导入后无法有效发送邮件,iTunes connect 也不会报错让你知道的;导入后,会莫名有一些条目导入失败,然而没有报错,原因未知。

②批量移除:4.17 TestFlight 改版时,这个功能下掉了 :) 找前端的壮士写脚本吧。

③用户 Status:Installed 中显示的版本是第一次安装版本,非实时。

- 附:一个血泪 Tip:

在 iTunes connect 上做任何跟用户名单有关的操作,请先拿自己做小白鼠,请考虑到最极端的情况,再面向用户操作。

没有引导,没有特别警示,操作不可撤销,TestFlight 队友的衬托,会让你爱上自家产品工程师。

iOS 内测方式总结

因为这篇文章,联系到了好几个公司的小伙伴,把可以共享的一些信息也整理到这里一起参考。时效性截至 2017 年 10 月。

1、前情提要简介:

Android 渠道的内测相对简单一些,很多应用会直接把内测版本推送给用户进行升级,有问题继续推送新的灰度包,时间和渠道上都比较自由。

iOS 渠道权限控制严,管控力度也大,官方许可的内测渠道只有一个 Testflight。这个方式总人数有限、操作复杂、应用不稳定、后台工具难用、需要官方审核时间,因此各公司有自己的方式来减少麻烦情况/寻找新渠道。

2、内测方式汇总:

a. Beta 企业包:易用性高,采用的公司比较多;要小心量的扩张引起苹果爸爸注意;

b. PP 助手:对用户要求较高,需要会翻墙;某新闻资讯 APP 采用这个方式;

c. 变种 - 公司内部推广内测版:用连接的网络、IP、手机号等方式,识别出内部员工后,推荐员工使用内测版本;适合员工数量多的公司;

d. 变种 - 正式版本弹窗,引导到 Testflight 版本:这个方式技术实现了更友好的交互,达到的效果是:用户在正式版看到内测弹窗后,点击确认,即可等待手机下载好 Testflight 和内测版应用,并自动激活。避免需要用户自行跳出正式版本,自行下载 Testflight、激活、下载内测版本一长串繁琐操作。实现其实不难,iOS 工程师傅研究一下就点通啦。最开始是某外卖 APP 采用。

( 封面图来自 iOS Beta Testing using TestFlight,配图一来自 Julian Chua,配图二来自 https://twitter.com/oricha

上一篇 下一篇

猜你喜欢

热点阅读