do we have to clear the reset user activity for every recognize event (considering this as user activity) or do we have to clear it only when we receive resetuseracitivty directive from server?
Hi Vikas, are you referring to the UserInactivity events and directives in the System namespace? https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/reference/system
If so, your application should keep a timer to track how much time has elapsed since the last user activity. This time should be reported hourly using the UserInactivityReport event: https://developer.amazon.com/public/solutions/alexa/alexa-voice-service/reference/system#userinactivityreport
To (hopefully) answer your question, you should reset your user activity timer when you receive a ResetUserInactivity directive and additionally whenever the user interacts with your application. For example, our reference app has a method in the AVSController class called onUserActivity() which resets the inactivity timer. This method is called whenever the app is interacted with, including UI interactions and speech interactions. The reason we also have the ResetUserInactivity directive is so that the timer can be reset when the user interacts with the Alexa app as well.
Let me know if you have any other questions about this!