29 Apr 2024 01:27 PM - last edited on 10 May 2024 03:31 PM by Michal_Gebacki
Hi,
I've looked over the Android Instrumentation document and have integrated it with Gradle in my App, and the dynatrace dashboard is displaying results.
It appears that the only way to send User Actions is via Compose (Our UI is in Compose) via the contentDescription or DTActionName attribute, is there a way to send User Actions via a method call instead?
For example it is common practise to have a sendEvent(event: Event) method that can be overridden that is provided by an analytics framework. Is that an option instead of sending User Actions via Compose?
Thank you for taking the time to read my question.
Solved! Go to Solution.
29 Apr 2024 05:34 PM - edited 30 Apr 2024 04:36 PM
HI @TCTM
Dynatrace supports the auto-instrumentation of Jetpack Compose UI components. OneAgent creates user actions based on the UI components that trigger these actions and automatically combines user action data with other monitoring data, such as information on web requests and crashes.
https://docs.dynatrace.com/docs/shortlink/dynatrace-android-gradle-plugin-monitoring#compose-instrum...
When you interact in the app UI, Dynatrace create a user action connect with the method calls in backend. 💪
You use a "enterAction", when you want to create a Manual User action and put inside web request ( backend) .
Let me know if it is useful to you, maybe you can explain with an example what you are needing.
30 Apr 2024 02:03 PM
@TCTM wrote:
It appears that the only way to send User Actions is via Compose (Our UI is in Compose) via the contentDescription or DTActionName attribute
content description and dtActionName are only used to determine the user action name. They are not responsible for generating a user action. If a user interaction is monitored or not depends on your settings in the Dynatrace Android Gradle plugin and if Dynatrace provides auto-instrumentation support for this component.
@TCTM wrote:is there a way to send User Actions via a method call instead?
Yes, you can create custom user actions via the Dynatrace#enterAction API. Here is a link to the documentation.
@TCTM wrote:For example it is common practise to have a sendEvent(event: Event) method that can be overridden that is provided by an analytics framework. Is that an option instead of sending User Actions via Compose?
I'm not sure, if I have understood this part correctly. Currently, it is only possible to generate custom user actions and enrich them with custom values. It is not possible to report user interactions in a different format.
When RUM will be available in the Dynatrace Platform, it will be possible to report generic events, where you can decide the structure of the events.