本文作者在踩了几个月的坑后,总结对官方指南一些经过数据验证过的经验,关注焦点是「用户」,按照「邀请安装→安装时引导→安装后升级」的环节,悉数分享。
「这是什么报错?文档里没写,也不能复现啊。」
「安装数不对吧?7 日新增数一直是 25?」
「这种情况用户能收到 push 吗?还得传两个更新包自己验证?」
……
如果这是自家产品,恐怕这每个问题都值得配一把霍霍磨好了的大刀,然而它是:TestFlight,苹果官方的 iOS 应用内测分发平台。
这个官方内测产品在中文互联网上的讨论却不多,大部分是操作指南类的说明,与「用户」关联的几乎没有(事实上,英文搜索结果也一样)。当我开始用它内测时,有整整一个月时间,内心都在咆哮:没人在用 TestFlight 吗?没人遇到过这些坑吗?没人发现这个小操作会痛失一批用户吗?
——当内测用户到达上千的数量时,官方指南( iTunes Connect Resources and Help )中未提及的各类问题开始出现,内测用户的激活安装率中,出现了 x0% 比例的不可控因素。
在踩了几个月的坑后,总结了一些经过数据验证过的经验,关注焦点是「用户」,按照「邀请安装→安装时引导→安装后升级」的环节,悉数分享。
正文包括:
激活安装环节的坑;
流程引导的经验;
版本升级时用户端常见情况;
iTunes connect 平台的坑;
iOS 内测方式总结。
激活安装
邀请到用户参与内测,已经是一道坎;而从接受邀请到激活安装,还会有相当惊人的流失率。
调查过近 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 改版后)当用户被移出内测名单,在版本更新前又添加回时,用户自动拿回内测资格,不需重新接受邀请
ic 后台显示用户状态为「Invited」,新版本发布后,不会再次发邮件给用户(毕竟对方没接受过邀请嘛)。如果想要再次邀请,需要点击「Resend」。
没错,仍然没有批量「Resend」的选项,有请前端壮士帮忙写脚本。
工具问题
最后是在 iTunes connect 上查看和管理用户啦:
iOS Builds:
安装数:偏高
每日安装数:不准,永远最高 25
内测名单管理:
批量导入:
导入前确保邮箱地址中没有空格,否则导入后无法有效发送邮件,iTunes connect 也不会报错让你知道的;
导入后,会莫名有一些条目导入失败,然而没有报错,原因未知
批量移除:4.17 TestFlight 改版时,这个功能下掉了,找前端的壮士写脚本吧
用户 Status:Installed 中显示的版本是第一次安装版本,非实时。
iOS 内测方式总结
因为这篇文章,联系到了好几个公司的小伙伴,把可以共享的一些信息也整理到这里一起参考,时效性截至 2017 年 10 月。
(1)前情提要简介
Android 渠道的内测相对简单一些,很多应用会直接把内测版本推送给用户进行升级,有问题继续推送新的灰度包,时间和渠道上都比较自由。
iOS 渠道权限控制严,管控力度也大,官方许可的内测渠道只有一个 Testflight。这个方式总人数有限、操作复杂、应用不稳定、后台工具难用、需要官方审核时间,因此各公司有自己的方式来减少麻烦情况/寻找新渠道。
(2)内测方式汇总
Beta 企业包:易用性高,采用的公司比较多;要小心量的扩张引起苹果爸爸注意;
PP 助手:对用户要求较高,需要会翻墙;某新闻资讯 APP 采用这个方式;
变种 – 公司内部推广内测版:用连接的网络、IP、手机号等方式,识别出内部员工后,推荐员工使用内测版本;适合员工数量多的公司;
变种 – 正式版本弹窗,引导到 Testflight 版本:这个方式技术实现了更友好的交互,达到的效果是:用户在正式版看到内测弹窗后,点击确认,即可等待手机下载好 Testflight 和内测版应用,并自动激活。避免需要用户自行跳出正式版本,自行下载 Testflight、激活、下载内测版本一长串繁琐操作。实现其实不难,iOS 工程师傅研究一下就点通啦。最开始是某外卖 APP 采用。知乎站内已经有 Larry 分享:TestFlight 的使用(更偏重于用户体验)。