I'm currently creating an echo button game. Alexa asks "Player 1" to press their button to start the game. After handling this button press it goes on to trigger a function called "AskQuestion" which produces a speech output, an echo screen template, and a card (to be displayed within the alexa app). The problem is the card is never displayed, but everything else works fine. Checking console logs I can see the response object does in fact contain the JSON to produce a card. It just never materialises.
Continuing on, a player then buzzes in to answer the question. I handle the button input and produce a message via Alexa asking the user for their answer. They say their answer and it's checked whether or not it is correct and a relevant message is built. It then goes to the function "AskQuestion" to produce the next question. This time everything works fine. The speech output, echo screen template and the card are rendered.
The only difference between the two scenarios above was that the "AskQuestion" function was invoked by two different ways, one by the user giving an input by pressing the button and the other by the user giving an input by voice.
Is this expected behaviour? Can a card not be produced if the input has come from an echo button rather than through voice?