I'm trying to add cards to my skill, but have hit a weird snag. I can get cards to show up fine with a LaunchReqest, but the minute it hits an intent request, the cards stop showing.
The code for showing the card is the same as the code for the LaunchRequest:
return handlerInput.getResponseBuilder()
.withSpeech(speechText)
.withSimpleCard("HelloWorld", speechText)
.withReprompt(speechText)
.build();
Literally just a simple response with a Card I'm trying to get to show. This appears in the JSON that Alexa gets:
(Amazon doesn't let you copy from the console.)
This is in the dev console, my best guess currently is it is just a dev console bug, and not a real bug, but we haven't yet tested on a real device with the companion app, so I could be wrong.
Any direction here would be helpful, from all my reading online this should work, especailly since the same text works in a LaunchReqest, but not in an IntentRequest.
Cards are shown in companion Alexa Apps of the skill users. The response JSON you have shared looks good and cards should be displayed. Try logging into mobile app with your developer.amazon.com credentials and check the whether the cards are displayed. (Cards are displayed in the home section of Alexa app). If you don't have an Alexa app, you can use the web version at alexa.amazon.com
The cards are stuck in Alexa Test Console. It looks like the first card that is shown remains there forever. It's not getting refreshed.
BTW you can copy JSON from Alexa Test Console 😉
Related
I'm working on a gamification project. Say, the user of my client clicks on a play game button on a checkout page, and the game window opens. The game window is built on react, and is opened as a react-native-webview component. He/She plays the game(say spin the wheel), and wins something(say 10% discount). How do I send that data(that the user has won 10% disc.) back to the client, while simultaneously redirecting the user to the checkout page?
I haven't found a proper resource that explains what I'm looking for or maybe I'm searching for wrong stuff. Still a beginner. Could you please help? Any suggestions on resources to read about that or maybe an idea on how to approach this would be very helpful. Thanks!
I have implemented Alexa Proactive events to send Notification
through Our skill in Alexa. It's working fine. But Problem is we
have added SSML tag say to speak as digits 2212545 like this to handle Audio. Rightnow this tag is displaying on screen of Alexa device. We don't want to display SSML tag. Please can anyone tell how can we remove these SSML tag in our Alexa notification while displaying
This is body i am sending
{"timestamp":"2021-02-23T07:06:00.693Z","referenceId":"db8b343f-5639-431c-a436-e7c6eee604c4","expiryTime":"2021-02-24T07:06:00.693Z","event":{"name":"AMAZON.MessageAlert.Activated","payload":{"state":{"status":"UNREAD"},"messageGroup":{"creator":{"name": "Amount 5000 for user id 2212545 will be credited on
2021/10/02"},"count":1}}},"relevantAudience":{"type":"Unicast","payload":{"user":
USER_ID}}}
I have a small library for formatting and such and just run my display text through a small regular expression.
I found this here and have used it ever since.
https://forums.developer.amazon.com/questions/5433/strip-ssml-tags-for-card-output.html
var regex = /(<([^>]+)>)/ig;
cardContent = someTextWithSSMLTags.replace(regex, "");
please check my app - https://real-estate-web-app.herokuapp.com
the app is accessible in chrome only I open the app with another browser it shows me a white blank page.
and please share the solution.
I tried all online solutions but no help
I want to share the app with the client and my friends for testing.
I was able to open up the app in both Chrome and Firefox, loading just fine. Only thing I noticed was something odd with the Google Map API's, message about it receiving too many calls to the API. Also I believe by default Heroku has a "sleep" type setting, so the page doesn't stay loaded if the URL hasn't been visited recently; basically it pings the server and tells it to wake back up and then process the request and load the app. This may result in like a 10-15 second load time the first time hitting the page.
I have run the Glassware starter project and been able to add cards to my timeline and see them on my glass hardware. That site url is:
https://glass-java-starter-demo.appspot.com/
But when I go to the Mirror API Playground and follow the directions, authorizing and push the blue insert button, nothing gets inserted on Glass. I have waited as long as 12 hours and still nothing.
Further, something is being inserted as you can see in this API Console screen capture:
Does anyone have any suggestions, I have recreated my client id many times being very careful to include the javascript origin, I have tried making my client id set up look like the one in the cat demo project instructions. But no luck.
The playground gives no error and based on the console feedback I believe it is going somewhere just not to my glass hardware. Its supposed to insert into my glass hardware right? This is how we are supposed to test rendering of timeline items, correct?
I don't know why, but this can no longer be reproduced. One suggestion from Alain was to always start fresh in a new incognito window and to be sure you are logged in as the same user the glass hardware is registered with. My working Client Id has two "Redirect URIs" and one "JavaScript origins".
I would like to write an enterpise app that displays some slides on the PC (think powerpoint deck)
important is the requirement that the user cannot take a screenshot of the picture, to see the image they must enter a password, I do not want them to be able to keep the picture
is this possible in Silverlight? what about Flash?
thanks!
You mean, how do you disable someone from using [Ctrl - Print Screen] on a PC or [Command-Shift-3] on a Mac?
Ummm... I think the best you could do is create and out of browser app that is fullscreen AND only when it becomes the active window, it will show the images you want to protect. That way you can disable the keys for screen capture and prevent any other programs from capturing a window shot of your what is in your app.
Still, there is nothing preventing a fiddler user from capturing an image downloaded to your app from a webservice or something. All the images would have to be encrypted then decrypted by your app.
Looks like watermarking your images is your best bet.