当前位置:

Enjoy出海 >

新闻资讯>

Google Play如何提升应用质量?这些工具或许会帮到你

Google Play如何提升应用质量?这些工具或许会帮到你
小歪  ·  Sep 26, 2022 6:43:49 PM

在过去的十几年里,开发者的应用可以通过Google Play触达全球数个国家和地区的数十亿用户,但是在这些用户中增长的真正机会取决于我们成为高质量的触达。即不仅可以下载和使用你的应用,同时在你的应用中要有良好的体验。只有当拥有这些高质量触达的用户时,开发者在应用开发中投入的开发成本、市场经费和增长策略才能产生相互作用,并且彼此强化。

 

图片

 

在2022 Google 开发者大会上,Google Play大陆地区商务拓展经理马乐带来了以《提升应用质量新工具》为主题的视频分享,为大家介绍了过去一年里Google Play为帮助开发者提升应用质量所准备的新产品和工具资源。

 

当你获取到体验良好的用户时,你为这些用户定制的互动体验和留存策略才能够生效,进而获得更高的投资回报,这是一个大的前提。相反的话,拥有较低质量的用户触达会怎么样?这就意味着应用虽然被用户发现、下载和使用,但用户体验和应用表现都不尽如意,这部分用户将难以持续在应用内进行互动,并回到应用里。那么如果最初是希望获取留存更长的用户,投资回报将无法实现,同时还可能面临更多负面的结果,即你的应用在商店里的曝光和转化率,以及用户评分都将受到较低的Android Vitals的数据影响。

 

所以当开发者的应用有很多较低质量的用户触达时,就会对应用获取新用户造成直接伤害,这就是为什么用户覆盖和质量是您在Google上取得成功的基础。成功不仅需要您最大限度的去扩大高质量的覆盖面,还需要尽可能的减少较低质量覆盖所带来的影响,所以说用户的质量和应用的质量是非常的重要的。你会在本次演讲中看到一些案例和研究,这些案例所提供的数据,都进而证明了质量的重要性。

 

可以大致分为以下几类,首先是监控,这是有关于开发者了解自己应用当前质量的方面;其次是优先级,它会帮助大家评估你当前质量,并决定在哪些方面进行持续的投资;最后是采取行动,也就是在了解优化和修复都需要采取什么措施去补救和提高。

 

图片

 

有时监控也需要一定程度的投资,比如说某些指标只能通过SDK才能够获取。此外,质量管控是一个机动的随时响应的过程,计划和测试都会帮助开发者从一开始就将出现质量问题的可能性降到最低。

 

如果在阻止质量问题或修复质量问题之间作出选择,那么通常来说阻止它出现会更符合开发者的利益,因为低质量的用户覆盖可能会损害你应用的曝光度。不仅如此,你的用户还能将他们使用应用的感受和意见持续分享给更多的人,这可能也会在你的指标恢复很长一段时间之内都投下阴影。因此当开发者看到行动时,我们的目标首先是预防。

 

监控

 

所以我们推出了许多的新功能,让开发者可以更轻松的监控确定优先级和采取行动。首先如果你已经有了一个已经上线的应用和游戏,我们就应该从监控开始聊起。

 

图片

 

在Google Play中, Android Vitals可以监控游戏质量和技术。它的数据来自于真实使用应用的用户,也是我们最成熟的产品之一。在商店里前1000的开发者中,有超过70%的开发者都在持之以恒地通过Android Vitals这个指标来改进应用质量。

 

Android Vitals提供了技术和质量的多个关键数据,最重要的两个方面是稳定性和性能。稳定性衡量了应用的崩溃或ANR发生率;性能有很多种的表现,其中一个方面是应用的启动时间。Android Vitals将启动的时间定义为应用初次显示所需要的时间,即用户点击应用程序图标,到屏幕上显示应用的第一帧,也就是初始屏幕所需要的时间。

 

图片

 

另外一个方面是渲染,它被衡量为慢速或冻结帧的一个比例。如果你还想更进一步地了解,可以找到其他的指标,比如电池、使用权限等等。Android Vitals还允许开发者为任何Vitals指标中的异常来配置电子邮件警报,当这些指标有突然的或者较大影响的变化时,开发者可以第一时间接收到这些警报。

 

Android Vitals的独特之处在于,它是您了解Google Play如何评估您应用质量的一个权威来源。因此为了最大限度提高您在Google上的成功率,密切关注你的Vitals指标是非常重要的。即使你还有其他的方法来监控技术和应用质量。

 

对于游戏,我们提供了一个叫做Android performance-tuner(APT)的工具,APT是由Android game SDK来提供支持,数据显示在控制台中。由于我之前提到Android Vitals指标的一个限制,推出它是为了提供更好的游戏性能的一个监测指标。APT目前支持帧速率和加载时间的指标,以及游戏设备和网络环境,以帮助你缩小问题根本原因的范围。APT需要一些前期的集成工作,如果你使用的是兼容的游戏引擎,那么工作量可能只需要几个小时,如果您需要自定义集成,可能大概需要花上个几天时间。

 

图片

 

为了进一步说明,我们发布了来自《巫师》开发者spokko的一个实践案例。spokko使用APT在软启动期间由真实测试人员来评估他们的游戏在不同设备上的性能,基于这些数据,他们改进了设备定位,以便在更广泛的设备上更好的发布,扩大了高质量设备的覆盖面,并增加了10%的下载量。这是一个特别好的例子,说明了对监控性能的投资如何能够获得更多的回报。你可以在APT网站上了解更多关于他们是如何做到这一点的细节。

 

让我们谈一谈Android Vitals中的一些其他功能来帮助大家进行监控,比如新功能之一是增加了以国家和地区为维度的Vitals指标,如果你的应用或游戏在多个地区上架,那么你在不同市场其实是有不同的策略和游戏体验的。

 

我们经常从开发人员那里听到一个非常渴望的一个诉求,希望在Google Play的管理中心之外能够使用Android Vitals。很高兴的告诉大家,我们刚刚推出了一个新的安卓开发者Reporting API,它是开发者能够以编程的方式来访问所有4个核心Vitals的指标的数据,包括崩溃和ANR率,集群以及堆栈轨迹,它还可以为开发者提供三年的历史数据。如果想自动化质量工作流程,将Android Vitals数据与其他数据集成一起使用,或者构建自己的一些仪表盘,现在就可以开始使用了。

 

图片

 

我们还听到开发者提出的另一件事,是让Vitals更容易和其他崩溃报告工具一起使用,特别是Firebase和Crashlytics。在这里告诉大家,我们正在与Crashlytics密切合作,使这两种产品能够更好地协同工作。

 

从现在开始开发者就能够关联Play上的应用和Crashlytics的应用,在Crashlytics中查看Play的对战信息。如果你使用的是Crashlytics,请转到控制面板来关联Play上的应用。

 

确定优先事项

 

监控应用质量是一回事,能够评估它又是另外一回事。如果开发者在应用特定设备型号上的崩溃率非常的高,是否应该修复它呢?也许开发者在设备上没有很多的用户,但如果这部分用户就恰恰是最有价值的用户该怎么办?我将介绍几种方法来帮助大家排难。

 

首先要看的是不良行为阈值,许多Vitals指标都有一个阈值,达到该阈值时,就会看到警告信息。如果你的应用有一些不符合这些阈值要求,可能就会影响你应用在上面的曝光度。

 

另一个重要的参考点是叫同行基准,这是测试允许你将自己与同类别的其他的头部应用来进行组合和比较,他们使用了与Google商店相同的的一个分类,因此你的竞品组合里面包含着应用会在某些用户搜索中与您的应用一起被显示出来。

 

最后是我们最近推出的一款名为Reach and device(覆盖和设备)的新工具,专门帮助开发者来确定优先级。这个功能可以帮助你构建业务案例来做出决策,比如说构建和定位的设备规格启动或者扩展至哪些地理位置以及测试和优化的对象,它通过让你了解你的用户在安卓的版本、内存、信息、屏幕指标和芯片等等不同维度上的分布来做到这一点。你可以深入的了解到这这些细分到国家和地区维度的分布,不同设备的类型。比如说移动设备、平板电脑或者穿戴设备的数据等等,并且你可以在自己的应用里查看对等分布以及了解上下行文之间的一个关系,你甚至可以在发布应用之前就使用这款工具来做决定,它只需要查看同行的数据就可以了。

 

下面会通过一个具体的案例来说明如何使用它来构建业务案例,提高已上线的应用质量。

 

比如我在巴西发布了一个社交应用,它在Vitals中的ANR率非常的高,我正在尝试确定要投入多少资源来进行改进,在开发的过程中我可以选择ANR率作为一个关键的指标。

 

后面我们再来看第二个指标,因为我的应用是社交应用,所以我将社交这个品类作为了一个参考组别,而且因为只在巴西上线,所以我会通过国家过滤条件将我的竞品组合数据也限制在巴西。

 

图片

 

在概览页面中我可以看到此应用与其他在巴西的同行有不同维度上的ANR率的分布。现在详情页面中我们可以看到几组柱状图,每组有三个数,左边第一个是我应用的ANR率,中间是我的同行的平均的ANR率。

 

图片

 

比如在这张图表中,我在1.5-2GB内存设备上的最高的ANR率是5%左右,这其实远高于不良行为的阈值,并且比我的同行要高出很多。每组中第三个数据不在概览中,只有在你下拉的时候才能够看见它代表的是每个内存设备范围里ANR率的一个绝对数量值,也就是表格的最右边所代表的数据。所以对于1.5-2GB内存的设备,我的应用总共有2000次的ANR。换句话说这个数字是告诉我每个内存设备范围中ANR对我的整体ANR率的影响有大概5%左右。这里1.5-2GB内存的绝对值数量最高,意味着它是我整体ANR率里最大的一个困扰和驱动的因素。因此从技术上角度看,有几个事件表明ANR率是非常令人担忧的,首先我高于了同业基准比同行的表现差,这是我整体ANR率最大的一个构成因素。

 

图片

 

那么从商业角度来看,我已选择了ANR率来进行优化,我也可以选择以安装量来构建我的业务角度的案例。覆盖和设备在安装量这个图表中会显示与ANR图表相同的内存类别来针对相同的国家和同行以及时间段。现在可以看到在1.5-2GB内存上的安装量是高于其他内存范围的,有30%左右。

 

这可能会影响到应用的曝光率和直接影响用户评分,如果我什么都不做,那就会有用户流失的风险。相反如果我真的改善用户体验可能会有更大的好处,因此在这一点上我可以创建一个基于安装量的商业案例来投入,用以减少此设备上的ANR。

 

但是你的商业模式不仅仅关注安装量,那又怎样呢?如果你的应用是通过订阅或者一次性购买来变现的,那么你可能不会认为所有的安装或者安装事件都是相同的,你会认为付费用户与非付费用户不同,在付费用户之中,每一个等级都有不同的用户策略。如果确实是这样,那么你更应该使用覆盖和设备中新的收入指标来帮助你从收入角度作出决策。

 

比如说在介绍到ANR率的事例中,30%的用户使用了1.5-2GB内存的设备,但是如果我的收入只有5%来自这些设备型号该怎么办?这可能还不足以证明投资的合理性,但如果我可能就此作出决定来有所改变,使这种较低质量的用户覆盖不会影响我的整体投资回报率。

 

除了收入指标以外,覆盖和设备还提供了收入增长指标,用在开发者需要提前规划的情况里,比如我在巴西的社交应用正在经历漫长的一个重写阶段,并且在6个月内不会重新发布。那么在做出重写的优化决定之前,我需要了解我的应用和我的同行在这些设备上的一个预期的收入增长趋势。

 

图片

 

我们最近发布了Fun plus的一个案例,他们在计划对游戏应用《生存国度》来进行一个重大的更新,这就使用到了覆盖和设备功能。

 

大版本更新将一些游戏的功能从2D升级到了3D,并且需要比以前更高的硬件规格。通过覆盖和设备这个功能,Fun plus对设备进行了分层,针对具有新用户体验的设备类型来发布新的功能,同时也提高了开发的效率。

 

在这方面还有一个重要信息,我们不能抽象地谈论技术和产品的质量,它只有在设备规格和型号的上下文和背景中才有更具体的意义。覆盖和设备可以让你对设备规格有一个更高层次的理解,以便作出决定。

 

正如许多人知道那样,一个单一的设备模型其实可能有很多种的变体和组合,比如相同的设备号可能有不同的安卓版本。手机厂商在不同国家推出不同的芯片组合,但是设备号却相同的一些设备或者是不同的设备内存,设备厂商决定为这些设备提供相同的型号名称的时候,使我们的硬件在软件方面都有不同的差异化的一个表现。所以关键点是如果设备模型有变化,这些变化所带来的行为就会不同,你需要了解这一点来确保能够选择正确的设备型号来进行产品优化,并且确定你的定位逻辑。

 

图片

 

但现在的目录中没有显示这个设备的变体,另一个限制是没有信息可以帮助你确定哪些设备型号是最重要的。所以最新的改变是在概览页面为你提供了所有的设备型号的安装数据,并且带有一个过滤选项,可以立即查看重要的内容。

 

此外,当这个设备型号存在一些变体的时候,你可以一目了然。我们会向你展示RAM和操作系统具体的数据,同时开发者还可以更好的了解每个设备的支持状态,并可以选择显示核实它仅包含部分或者是排除了这一部分的设备。

 

我们还在设备属性上添加了许多的一个过滤条件,例如OpenGL的扩展项和共享库。如果已经确定需要更深入的了解特定的设备型号,可以在新的详细页面中找到所需要的一切。如果还想对设备属性来探索变体,它也包括一个动态的过滤器可以供大家选择。

 

但是如果只想了解哪些设备和规格最具代表性,也可以跳到变体列表里面,我们在列表顶部标记了最常见、最受欢迎和覆盖面最广的一个变体,同时也鼓励大家今天就可以查看改进后的一个目录。

 

行动

 

现在我已经帮助开发者了解了如何去确定优先级的新功能规划和预防,下面我们一起看一下如何采取行动。正如已经说过的,Android Vitals是监控质量的一个综合控制台,我们还希望它在解决质量问题时尽可能的有用。

 

第一件事是解决稳定性问题,实际上有两种类型的不稳定性会影响Android的应用崩溃和ANR。崩溃是应用程序由于错误而意外终止,而ANR率是应用程序挂起,并且没有想象的分布,这是Android Vitals中崩溃和ANR的一个概述。

 

图片

 

当你想深入研究待确定问题的时候,可以单击打开详细页面,就可以看到概览页面上崩溃的详细信息。如果是Vitals的长期用户,你可能会注意到在这个页面上问题标签发生了变化,正如我们前面所讲,我们将在集群的标签,把它将与Crashlytics统一起来,以便更轻松地跨两种产品来工作。

 

开发者可能希望通过几种不同的方式来评估这次崩溃的影响,可以看到它发生的频率,比如有多少用户受到影响以及崩溃影响时的一个时间线是怎样。时间线是可以帮助开发者确定这是一个突然形成的峰值,还是由于服务器的配置错误或者新版本中的一些特定的错误引起的,或者是说它是一个相对平坦的分布,则可能是由于你的应用中偶尔触发的一个特殊情况造成的。

 

我们在这里还添加了一个新的功能来帮助定位崩溃问题,可见性细分显示了崩溃在前台和后台发生的一个频率。

 

图片

 

值得注意的是,即使是在后台同步中的错误,如果此时应用程序正在前台,那也可能发生同步,它将显示为是在前台统计信息中。如果进一步下拉,还可以看到崩溃的一个堆栈轨迹,通常是调试所需要的最关键的信息,因为它可以精确地定位代码中发生崩溃的确切位置。

 

你可能已经注意到在Android Vitals的堆栈轨迹已经对异常信息进行了编辑,为什么会发生这样的情况? Vitals中没有它的原因,是因为我们的首要任务是保护用户的隐私。异常信息可以包含很多的自由文体,比如信用卡的地理位置或者其他的一些个人身份信息。我们一直在制定解决这个问题,以便开发者可以获得所需要的所有的调试信息,同时能够保护用户隐私。

 

很快我们将开始在Android Vitals中显示这个异常信息,但仍要确定保护对用户的隐私作为私密。为了做到这一点,我们将编辑信息中看起来可能是用户独有的任何内容,像信用卡信息等等仍然会被删除掉。这对用户有非常大的好处,因为保护了用户的隐私对开发者也很有好处,因为它能够让我们能够向开发者展示需要什么来调试这个崩溃。如果开发者想确保异常信息显示在Vitals中,那只要确保你的异常信息中不包含任何可能因用户而异的内容。

 

案例分享

 

图片

 

现在我们已经向大家展示了一些可能帮助你提高应用质量的工具,再让我们看看一些开发者是如何在实践中使用这些工具的。第一个要提到是OkCredit应用,它是一个针对小型企业的信用账户管理应用程序,OkCredit的开发人员使用Android Vitals之后发现他们在ANR和启动时间方面都存在问题。

 

通过挖掘 Vitals中的一些ANR和堆栈轨迹,开发者们发现他们有许多地方是启动代码在主线程上运行,并且执行可能延迟或在后台操作的一个运作。其中一些是他们在自己的代码中,有一些是为了初始第三方的资源库,所以当他们将其中的一些工作转移到异步运行时,并延迟初始化所需要的一些对象时,ANR率就提高了50%,并且启动时间也减少了70%。这些变化又产生了很多的连锁反应,比如他们在应用启动和交易之间的转化率提高了20%,这是OkCredit投资的一个巨大的回报,在低端设备上他们还将第一天的用户留存提高了超过25%,每个商家的平均交易时间也提高了30%。

 

其次我们分享的是一个印度的送餐服务软件Swiggy,他们的开发人员在Android Vitals中看到了很多的卡顿问题。卡顿是特别令人担忧的一个现象,因为它会给用户带来很多的负面体验,而且使留存变得非常的困难。

 

图片

 

Swiggy团队使用了Perfetto改善了卡顿问题,不仅看到Vitals有所改善,而且业务指标也有所上升,用户的退出率下降了28%之多,每个月还额外吸引了33,000个订单,每月带来超过1,100万卢比的额外收入,每个会话用户平均参与时间也增加了30%。可以看到,改善Vitals指标确实会对用户粘性和收入产生重大的影响。

 

图片

 

Lyft是我们都知道的一个应用,它是开发人员使用Android Vitals发现机会的一个很好的例子,他们使用Android Vitals查看了一个启动时间并使用Play console同行基准进行了对比,发现他们的驾驶员端的应用启动速度要比同行慢15%-20%左右。

 

凭借着一个月的成果,他们就将启动时间减少了21%,不仅他们的Android Vitals有所改善,驾驶员客户端的会话也增加了5%,希望这些案例都能够帮助开发者更多地了解Android Vitals在改建自己的应用程序指标方面的有效性。

 

总结

 

正如大家从Lyft的故事和本次演讲中其他案例所看到的这样,开发者同行们正在使用Play的质量工具对他们的用户体验进行有意义的改进,并且看到了这样做的重大的商业影响。我们希望这些案例都具有启发性和指导性,并且让开发者可以开始思考在自己的应用中所做的改进。还有一件事是希望可以激励的开发者朋友们,就是我们并没有就此止步。对于Google Play来讲,我们知道还有很多工作要做,你会看到我们在未来几个月里面会持续地推出新的功能。

 

图片

 

这些发布主要有三个主题,首先是对Android Vitals的指标的一个认知,它意味着能够轻松的查看有关性能和稳定性的关键Vitals信息,它可以确保开发者了解改善用户体验的问题和机会。现在开发者可以通过我们的新的API和Console后台来访问Android Vitals,我们将随着时间的推移继续来拓展Vitals的功能点。

 

接下来衡量对用户最重要的内容,我们正在研究Vitals以前没有提供的质量方面的一些新指标,来帮助大家进一步改善和了解用户体验,最后再排除故障和修复。这方面我们希望让工作变得更容易,所以一直在大力的投入,通过强大的过滤器原数据以及从整个安卓生态系统中收集到了独特信息,来增加我们在Vitals报告中的用户问题的背景。

 

图片

 

最后,我们来回顾一下此次研究所涵盖哪些部分。首先我们解释了为什么质量很重要,到介绍了触达质量的这么一个概念。解释了为什么你的应用需要拥有高质量的触达和覆盖,还需要尽量的减少低质量的触达和覆盖,然后我们介绍的工具和新的功能,以帮助为你提供更出色的用户体验。并且谈到一些同行如何使用这些工具来做到这一点,看到这样做会产生怎样的重大的业务影响。

 

我还希望再为大家提供一些简单的方法,对于监控我们希望大家能够密切关注你的安卓Vitals的指标和分数,请记住Vitals显示的质量数据与商店使用的数据完全相同,因此即使你使用另一个崩溃监控系统,也最好每周或者每两周回来检查一次Google Console里面的Vitals数据。借助Vitals和Crashlytics以及 API的新连接和即将扩展的关联性,我们可以更轻松地做到这一点。用于评估和优先排序这方面,要查看你的不良行为阈值和同行基准,并且密切的关注使用你应用的设备的生态系统,好好利用覆盖和设备这个功能。

 

图片

 

你可以使用设备目录的核心功能的管理变体,并帮助你做出正确的定位和决策,以确保能够最大限度的提高质量覆盖,并最大限度的减少低质量覆盖。在用于优化和修复这个方面,希望大家能够利用新的过滤条件和细分来找出问题的根本原因,或帮助确定优先级。新的前后台信息也可以帮助大家关注对用户影响最大的问题,新增加的国家和地区过滤条件,也可以帮助全球应用了解不同地区的一个体验差异。

 

如果你是一个游戏开发者,那么请使用我们的Android performance-tuner,能够更好地监控你的帧速率和启动时间,找到可以进行优化改善用户体验的地方。希望大家都能够花一点时间考虑这份清单,以及是否有什么新的动作,可以让你和你的团队开始立刻着手尝试这些改进。

开通会员,查看完整内容