ask-sdk v2でのstateがない


v2でのstateはこうやる?

v2にstateという概念がない。
this.handler.state = ...;とかってのがない
てか、もともとAlexaから送られてくるjsonにstateとかって項目はなくてsessionAttributesの中にSTATEという値を入れてあげてそれで管理していた。

ここで、再確認しておくのがv2でのsessionAttributesの保存方法は

// 保存の方法は
attributes = {
  "key": "value"
}
handlerInput.attributesManager.setSessionAttributes(attributes);

この容量で

attribute = {
  STATE: "stateKey"
}
handlerInput.attributesManager.setSessionAttributes(attributes);

って、設定してあげてcanHandleの中で

return handlerInput.requestEnvelope.session.attributes.STATE === "stateKey"

とかってしてあげればいいのではないか
つまり、こんな感じ?

const sampleIntentHandler = {
  canHandle(handlerInput) {
    return handlerInput.requestEnvelope.request.type === 'IntentRequest'
      && handlerInput.requestEnvelope.request.intent.name === 'levelIntent'
      && handlerInput.requestEnvelope.session.attributes.STATE === "stateKey"; // ここ
  },
  handle(handlerInput) {
    ...
  }
};

handlerInput.attributesManager.getSessionAttributes().STATEstateKeyがはいっていなかったらcanHandlefalseを返されるので、呼ばれない
他にいい方法ってか、ちゃんとした方法がある?