alexa / alexa-smart-screen-sdk

⛔️ DEPRECATED Active at https://github.com/alexa/avs-device-sdk
Apache License 2.0
76 stars 25 forks source link

Template card responses are not received when using custom skills. #113

Closed sudharsantel closed 2 years ago

sudharsantel commented 2 years ago

Briefly summarize your issue:

Template card response from smart screen sdk are not received/displayed in GUI when using custom skills.

What is the expected behavior

output.log ?

template card response from smart screen sdk should be displayed in GUI when using custom skills.

What behavior are you observing?

I was able to hear the proper audio response when custom skill is invoked, however the templated card is not displayed/shown in GUI.

Provide the steps to reproduce the issue, if applicable:

Tell us about your environment:

What version of the AVS Device SDK are you using?

  device sdk - 1.23.0
  smart screen sdk - 2.6.0

Tell us what hardware you're using:

Tell us about your OS (Type & version):

Have you tried the same use case with AVS Device SDK SampleApp?

nguymi91 commented 2 years ago

@sudharsantel

Thank you for reporting this issue. I took a look at your output, and I didn't see any directives for rendering (either a TemplateRuntime, or a RenderDocument directive).

Can you help us to understand what you expect to trigger GUI to display in this case? Is it an APL document? Is it a TemplateRuntime directive?

Bests, Mike

sudharsantel commented 2 years ago

@nguymi91 thanks for the update.

I have not added APL document in my custom skill response. I am also not receiving text based template card response from custom skills.

I have implemented the following interface "alexaSmartScreenSDK::smartScreenSDKInterfaces::TemplateRuntimeObserverInterface", to get text response from custom skill and added observer via method "addTemplateRuntimeObserver" to smart screen client obj. I am expecting a callback to "renderTemplateCard" method, which is not happening.

I have shared latest set of logs.

output.log

nguymi91 commented 2 years ago

@sudharsantel

For the custom skill that you mentioned, is it sending a TemplateRuntime directive? If it is not, there won't be any to render. As stated before, in your provided log, I'm not seeing any RenderTemplate calls. Hence, it is expected that nothing to be rendered.

sudharsantel commented 2 years ago

@nguymi91

ok. So as per my understanding we need to add either APL document or render template directive to trigger a custom skill response with GUI element.

For the use case that I am currently exploring, I need only the textual response from custom skill and don't need to trigger any GUI.

Previously with device-sdk I was using simplecard type to get this information. However with smart-screen sdk this is not working and i am not receiving this information.

This is the sample response from custom skill.

const LaunchYouTubeIntentHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
            && Alexa.getIntentName(handlerInput.requestEnvelope) === 'LaunchYouTubeIntent';
    },
    handle(handlerInput) {
        const speakOutput = 'Launch YouTube';
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .withSimpleCard(speakOutput)
            .getResponse();
    }
};

I have already shared the interfaces I use.

Query:

  1. Why was the simple card response not working with smart-screen sdk ? what are the further changes required to achieve this?
sngoc-amazon commented 2 years ago

Hi @sudharsantel,

Device needs to assert APL 1.7 in order to use simple cards. Please consider migrating to SmartScreenSDK 2.8 which supports APL 1.7.

Thanks, Kelly

rpalkar-amzn commented 2 years ago

Closing due to inactivity

sudharsantel commented 2 years ago

@sngoc-amazon There is no change in observed behaviour, after upgrading APL to 1.7.

@rpalkar-amzn Kindly re-open this issue.

powj commented 2 years ago

Hi @sudharsantel ,

Please can you provide the device logs from the upgraded version of the SDK.

Also if you haven't already I would recommend that you try re-running your test after deleting your local capabilitiesdelegate and deviceSettings database files.

sudharsantel commented 2 years ago

@powj Attached the logs collected as mentioned.

alexa debug log.txt

powj commented 2 years ago

@sudharsantel your device is still reporting that it only supports APL 1.5.

As you have indicated that you have already upgraded to the SDK 2.8 I recommend that you delete your local database files and re-authenticate your device.

If you still continue to have issues then please ensure that you have upgraded to (and are running) the 2.8 SDK and are running the matching 2.8 GUI application in your web browser.

sudharsantel commented 2 years ago

@powj I have upgraded APL core to 1.7 from https://github.com/alexa/apl-core-library. I am not aware of medici 2.8, kindly share links.

powj commented 2 years ago

@sudharsantel The previous commenter had intended to say Alexa Smart Screen SDK 2.8 - to upgrade to a newer version of APL all other components must be upgraded, this includes the AVS Device SDK and the Smart Screen SDK.

sngoc-amazon commented 2 years ago

Closing due to inactivity. Please reopen if needed.