I have been using skill events lately for some of our skills. They work nicely and you can get events to your backend whenever the user enables or disables your skill for example.
The issue i am having is that with every event (same as audio player events) a new user session is triggered. This adds to the session counter in the user object.
Here comes the problem: User activates skill in his Alexa App, i get an event to my backend, an new session is triggered, the session counter is increased by one (and in this example is 1 then). Now the user starts his first voice invocation of the skill and all my well crafted onboarding procedures (eg. “Great to have you here! This is your first visit. Do you like to get an overview?”) that depend on
this.$user.isNew() dont work anymore.
I have no idea how to solve this properly.
Should these skill events (skill activation, account has been linked, permission given) not count towards the session counter? Is it even well designed that these trigger a NEW_SESSION() event?
Same applies to Audioplayer events as well (eg. AMAZON.playbackNearlyFinished, …). I get a lot of “fake” sessions without any unser interactions and some of my UX considerations (eg. give a hint on every 3rd session) fail to get triggered towards the user.