A: Adhara is provided as a small SDK that is integrated into the app.
A: The SDK contains code that captures meta data about the user’s activity on the app (e.g. Taps, Double-Taps, Scrolls, Zooms (in and out) and interactions etc) and also an mp4 video recording of the user’s session. This data is sent via HTTPS to a UserReplay capture server which stores the video replay, meta-data and also records any configured UserReplay events to the UserReplay database.
The meta-data is sent on a more frequent basis as the data posts are small. Video recordings are sent less frequently and can be configured to only be sent via wi-fi or 4G.
Currently we only support Native implementations of apps, written in either Objective-C, Swift, Java or Kotlin.
A: Yes. The bandwidth and Frame Capture Rate of the video can be configured in the SDK settings.
A: Yes. The video recordings can be configured to be sent back on wi-fi or 4g only. We also detect if the device is in Roaming mode and give the option to not send in these circumstances as well Meta-data is sent back frequently as this is small posts of data and do not require much bandwidth.
A: UserReplay events are defined in the UserReplay portal (just like the web version). They can be based on particular actions in the app (e.g. taps, form submits etc). The app developer can enrich their app with specific meta-data to make event creation easier (e.g. easy to use IDs on particular actions).
A: • Events and Event Analysis
• Realtime and Report Dashboards
• Insights Dashboard/Machine Learning
• Monetization Analysis
• Custom SQL Reports
• Success and Struggle Scores
• Session Replay
• Bookmarks and Archiving
• Proactive Email Alerts
A: Yes. Detailed OS and Device data is available in the UserReplay portal to allow filtering of searches and reports – thus allowing the user to focus on particular segments of users who have used particular devices.
A: As our SDK is tightly integrated with the application when the application crashes, it brings our SDK down at the same time. When the application is restarted, it will recover and send data of the prior session. This will include all but the last video being captured and all the metadata up to 100ms before the crash.
A: We offer two options as a starting state for scrubbing, both of which can then be further customised. We have an auto-scrubbing feature that will locate all editable and interactable fields and apply scrubbing to them. If this covers too much, the option can be turned off.
After that, any field can be tagged and marked to be scrubbed or unscrubbed. If a field is scrubbed, it will have it’s contents masked (you have the option to mask numeric and alphabetic characters differently, if required). On the video replay itself, the co-ordinates of the field will be masked, either with a solid color block or a distortion pattern. Importantly this all happens on the device itself, the only data that leaves the device is scrubbed according to the configuration.
A: Android: We add 500K to the size of the application after install.
Android: We add 3500 methods to the APK file (this is a statistic often of interest to Android Devs)
iOS: We increase the size of the IPA file after build by 6.5mb
iOS: After upload to the App Store and App Thinning is applied, this is reduced to only a 1mb increase.
A: If sending conditions are met and full video capture is configured as 3FPS, a five minute session will generate 2.2mb of data for transmission. The transmission of data can be limited to only happen over wi-fi connections if required.
A: Meta-data about client actions is sent back frequently during app usage and events that are based on this meta-data are processed in near real-time for analytics and alerting.
For video recordings, this data is sent less frequently to ensure use of the client’s bandwidth is minimized. Frequency can be tuned in the SDK. However, typically the video recording will be sent up every 2 minutes and will be available then in the UserReplay portal for replay.
If an application is terminated or put into the background before Adhara has finished sending it’s video and metadata, it will keep it in the local application cache until the application starts again, whereupon it will send the prior sessions data if conditions are met. This will most likely mean the tail end of sessions are not going to be present on the newest sessions until the user relogs in.
However, the developer has the option to force send all video and metadata, the methods for this can be called if the application has a inbuilt QUIT process.