嗨如何保持會話始終在alexa應用程序中打開。我爲我的客戶端開發了自定義技能。在最後一次響應技巧會話結束後,我不想要這樣。我想始終打開會話。當用戶說開放流意圖時,它應該從那裏開始。如何保持會話始終在Alexa中打開
0
A
回答
2
你不能這樣做。 Alexa的模式是呼叫和迴應。用戶與Alexa交談,然後Alexa迴應。您可以讓會話保持打開狀態,但如果用戶在大約8秒內未響應,則會話將關閉。 (如果使用重新提示,可以再延長8秒。)
這是它們安全模型的一部分。他們不希望人們創造技能,基本上,監控房間內正在進行的一切。當Alexa正在收聽時,它所說的所有內容都會流向互聯網。如果有人違反協議,這可以用於間諜活動。 (或者在用戶或亞馬遜的服務器上運行帶寬)
現在,如果您的問題確實是連續性問題之一,那就不同了。 Alexa提供作爲其服務會話變量的一部分。那些只有一個會話的一生。所以,再次,這是設計的一部分,不要堅持過去的會議。
一般來說,我不建議你使用它們。 Alexa一直在下載會話。堅持你自己的變數對你來說更好。然後你可以控制他們的一生。使用傳入的用戶ID作爲密鑰,並將它們存儲在內存中(用於非Lambda技能)和/或DynamoDB(用於Lambda技能或長期持久性)。
1
您可以實現所需的用戶體驗,但您需要以不同的方式構建它,因爲您必須假定會話可能隨時結束,會話數據被丟棄。
每當會話更新時,將其保存到數據庫(如DynamoDB)中。
通過與每個請求一起發送並且在會話之間不發生更改的userId標識每個會話。
創建新會話時,請檢查數據庫以查找針對userId保存的任何會話。如果找到,則從數據庫填充新的會話。否則,創建一個新的會話。
相關問題
- 1. 保持Hibernate會話始終打開
- 2. 如何保持SqlConnection始終打開
- 3. 如何保持SplashImage始終開啓?
- 4. 如何保持alexa技能的公開?
- 5. 保持數據庫會話打開
- 6. 保持ASP.NET會話打開/活動
- 7. 如何強制選擇jquery select始終保持打開狀態?
- 8. 導航活動如何始終保持打開狀態?
- 9. 保持通話打開
- 10. 登錄後如何保持會話打開?
- 11. 如何發送命令到telnet並保持會話打開
- 12. 如何從AIR應用程序打開並保持會話?
- 13. 保持會話活動腳本如何打開它,並關閉
- 14. 如何保持gtk.window始終在頂層
- 15. 如何讓對話始終保持在屏幕上
- 16. 如何始終將對話框保持在最前?
- 17. 如何在android中保持會話?
- 18. 如何在android中保持會話?
- 19. 如何在android中保持會話
- 20. iOS:outputStream不會保持打開
- 21. 如何使ColorPicker swatch始終在Flash AS3上保持打開狀態?
- 22. Powershell的LogonScript如何保持剛開始的進程中打開
- 23. 如何讓瀏覽器在PHP中關閉後保持會話打開?
- 24. 如何保持會話?
- 25. 如何保持Servlet會話?
- 26. tomcat如何保持會話
- 27. 如何保持會話
- 28. 如何開始會話?
- 29. Asp.net會話開始如何?
- 30. 如何在Spyder 3中打開會話?
這是一個措辭非常模糊的問題。你能再詳述一下嗎? –
嗨,您好,我正在開發一項定製技能,其中alexa會向許多客戶提問並且客戶會回答這個問題,echo會根據他的回答收集輸入並提供輸出給客戶。所以我想保持會話活着總是我正在開發應用程序使用Java和託管通過aws lambda – Kamlesh