0

バックエンド用のSwift with Firebase Auth/DBを使用して書いたiOSアプリケーションがあります。私はユーザーが特定のアクションを完了するのにかかる時間を測定したいと思います。私は実際に応答時間には関心がありませんが、何かを完了するのに要する合計時間に興味があります。iOSアプリケーションで特定のアクションが完了するまでの時間を測定する方法

言い換えれば、ログインにかかる時間、ボタンをクリックする、プッシュ通知を受け取る、その通知で「OK」をクリックするなどの測定をしたいと思います。また、あるものから次のものへ(すなわち、ログイン時間: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として保存された時間の値を取得します。

希望すると便利です。

関連する問題