如何衡量 iOS 应用中用户完成特定操作所需的时间

Posted

技术标签:

【中文标题】如何衡量 iOS 应用中用户完成特定操作所需的时间【英文标题】:How to measure how long specific actions take to complete for users in iOS app 【发布时间】:2017-06-14 00:32:51 【问题描述】:

我有一个使用 Swift 编写的 ios 应用,后端使用 Firebase Auth/DB。我想衡量用户完成特定操作需要多长时间。我实际上对响应时间不感兴趣,但对完成某事所需的总时间感兴趣。

换句话说,我想测量登录、单击按钮、接收推送通知、在该通知上单击“确定”等需要多长时间。我还想记录获取所需的秒数从一件事到另一件事(即登录时间:2.5 秒,按下特定按钮的时间:4 秒等)。

我正在试用 Firebase Analytics,它几乎可以正常工作,但并不完全正常。我可以记录特定事件,例如登录、按钮按下等,但它只记录事件发生的情况,而不是花费了多长时间。

理想情况下,我会记录我为试用我的应用程序而提供的特定用户的所有这些数据,这样我就可以查看所有数据,找到平均值和其他有用信息。

【问题讨论】:

【参考方案1】:

考虑使用一个定时器,也许是这样的。

import UIKit
class Whatever: UIViewController 
var timer = Timer()
var currentTime = 0.00

func timeCounter() 
    currentTime += 0.01


override func viewDidLoad() 
    timer = Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(Whatever.timeCounter), userInfo: nil, repeats: true)


@IBAction func buttonPressed(_ sender: Any) 
    timer.invalidate()
    //whatever button does


这样,当应用程序开始时,计时器将开始,当按下最后一个按钮时,计时器将停止。您将获得存储为 currentTime 所需时间的值。

希望这会有所帮助!

【讨论】:

以上是关于如何衡量 iOS 应用中用户完成特定操作所需的时间的主要内容,如果未能解决你的问题,请参考以下文章

Azure 找出特定操作所需的权限

如何确定特定 win32 api 调用所需的 windows 库?

算法时间复杂度

session的官方定义是:Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。 说白了session就是一种可以维持服务器

用于获取访问 obiee 目录中特定对象所需的角色/角色的 API

如何使用Swift选择图像的一部分,裁剪并保存?