App Usage Analytics FAQ

Answers to commonly asked questions about app usage analytics.

Josh Franzen avatar
Written by Josh Franzen
Updated over a week ago

Who can use this feature?

πŸ‘€ Organizations Owners, Admins, and Members.
🚩 Available on the Essential and Enterprise Plans.

What is app usage analytics?

With the app usage analytics feature, ArborXR records and reports the time spent in each app. You can easily access this information via the Analytics page.


Does ArborXR record the time spent in videos or webXR links?

No, ArborXR currently only tracks time spent in applications (i.e. .apks).

  • For videos, the time spent in the video player app will be recorded (e.g. ArborXR Home if using ArborXR's native video playback feature).

  • For webXR links, the time spent in the browser app will be recorded (e.g. PICO Browser or Wolvic).


Does ArborXR record the time spent in applications while a device is offline?

Yes. Once the device is back online and connected to our servers, the recorded app usage analytics will automatically upload.


How can I export a .csv of app usage analytics?

  1. Navigate to Analytics in the side navigation menu.

  2. Select the export icon (see highlighted icon below).
    ​


    πŸ’‘ NOTE: The export will adhere to the filters applied within the Dates and Filter inputs.


  3. You will receive an email with the link to download the file.
    ​

  4. Open the email from ArborXR and click on the Download button.
    ​


What is the unit of time recorded in exported spreadsheets?

Duration values in exported spreadsheets are recorded in seconds.


What is the timezone for the Start Time and End Time values in exported spreadsheets?

UTC.


What is a session?

A session (also referred to as session duration) is the period of time between when an app is started and when it is stopped. An app is stopped when:

  • the end-user launches another app

  • the end-user powers off or reboots the device

  • the app is no longer in the foreground and visible to the end-user

If the device goes into standby/sleep (i.e. if the screen goes black after a certain amount of inactivity) without first stopping the app via one of the three methods mentioned above, the app will continue to run in the background and ArborXR records this as idle duration.


What is idle duration?

While there may be edge cases, idle duration means the app is still running and the device is still powered on, but the screen of the device is off and the device is not being interacted with. A device could get into this state if an end-user takes off the device but does not stop the app or power off the device, and therefore the device goes into standby/sleep but with the app still running in the background.

Given idle duration indicates the app is still running in the background and has not been stopped, a session can be made up of both active duration and idle duration.
​

A session could even be made up of multiple active durations and multiple idle durations, if the app is not stopped between the instances of activity and idleness.


What is active duration?

Active duration is the session duration minus idle duration.


What is average active duration?

The average active duration is the total active duration of an app divided by total app sessions.


What is max active duration?

Max duration is the longest single session of active duration.


Why do some devices show long periods of idle duration?

It is possible that the device was left for that long in between actively using it with the app still running, causing the idle duration to be recorded as such. For example, if the device is placed in ArborXR's Kiosk Mode launch method, it is very likely this could be the source of large amounts of idle duration since the kiosk app is always running while in this launch method while the device is powered on, even if the device is not being interacted with.


Why do some sessions not have an "End Time", "Session Duration", "Idle Duration" or "Active Duration" logged in the .CSV export?

Our analytics data can only report on the data it has received from a device. If a device starts a session but then loses it's connection with our backend analytics platform we will then wait until the device reconnects to our platform to fill in the data that was missed while the device was offline. If analytics data is exported during a time in which the device is not connected to our platform we will show a session for that device as having no "End Time", no "Session Duration'', no "Idle Duration", and no "Active Duration".
​
To list a few examples of how this could happen:

  • The device might have lost its connection to WiFi.

  • The device could be having trouble communicating with our API.

  • The device may have been factory reset directly via the device's settings and will never share the remaining session information to our API as a result.

Let's take a look at a practical example of this as a timeline of events:

  • 10:00AM Device starts "Application A"

  • 10:05AM Device loses connection, because WiFi router has lost power.

  • 10:10AM An Admin creates an analytics export. In this export, there is a session on the device for "Application A" with a start time but no end time. This indicates that the device has lost connection, or that the device's current session has not yet ended.

  • 10:15AM Device starts another application "Application B", therefore ending its session with "Application A" and beginning another with "Application B".

  • 10:20AM Device closes "Application B" and the device then enters an idle state.

  • 10:25AM Device reconnects to WiFi and sends the session data that our analytics platform missed while the Device was offline.

  • -10:30AM An Admin creates another analytics export. In this export, there are now two sessions that both have a start and end time. The session that previously only had a start time now has an end time because the device filled in that historic info once it reconnected to our platform.

In the export, if you see devices with sessions with no End Time, this can be a good indication that the device has an issue and it is worth physically checking the device to ensure that it is powered on and has an internet connection.
​

Did this answer your question?