2018/9/14にアップデートが公開されたのに、ブログに書きそびれてました。
せっかくなので、ちょっとだけ解説します。
Echo Spot対応になった
一番良かったのは、Echo Spot対応になったことですね(パチパチ)。これは、実機を入手できていろいろ確認できたのが一番大きかったです。しかも、同じ表示テンプレートが適用されるEcho Showにも対応できています。今日、第2世代のShowが発表されて、国内でも12月に発売になるということで、すでに対応できているのはいい感じです。

しかし、Echo Showに「最適化」されているかといえば、まだまだ。今日発表になった「Alexa Presentation Language (APL)」を使えば、一覧表示など更にリッチな表示に対応できそうなので、発売日までには対応したいと思います。
政令指定都市の場合に動作しない不具合があった
これは、本当にひどい障害だった。要はAPI仕様の確認不足。今回のスキルは大まかには下記の流れで動作しています。
- 端末に設定された所在地情報(郵便番号)を取得
- 郵便番号APIを使い、郵便番号から都道府県名・市区町村名を取得
- 図書館情報APIを使い、都道府県名・市区町村名から図書館システムIDを取得
- Amazon PA-APIを使い、著者名やタイトルから本のISBNコードを取得
- 蔵書検索APIを使い、図書館システムID(3.で取得)と本のISBNコード(4.で取得)から図書館別の収蔵・貸出情報を取得
- 1冊ずつ読み上げ・表示
このうち、2.で取得できる市区町村名と、3.の入力として使える市区町村名が政令指定都市の場合に限り、不一致を起こします。例えば「宮城県仙台市」の場合、
- 2.で得られる市区町村名は「仙台市○○区」
- 3.の入力として使える市区町村名は「仙台市」
といった具合。幸い、現在の政令指定都市の市名や区名に「市」の文字が使われていないようなので、それを使って市名だけを抽出するように変更を行いました。
一部書籍のタイトル読み上げ時に例外が発生した
APIから取得できる書名に半角記号が含まれている場合に、例外が発生していました(そういう書籍がたまたま検索結果に出てきて発見した)。Webアプリでおなじみのサニタイズ処理は、応答メッセージや表示文にも適用が必要だったということ。英数字は半角のほうが綺麗に表示されるので、記号だけを対象としました。
次のアップデート予定
今のところ予定しているアップデートはちょっと規模の大きなものばかりなので、時間がかかりそう。勉強かねて、楽しみながら頑張ります。
- バックエンドをAlexa-SDK V1→V2へ変更する
- 検索キーワードのデータを外部に蓄積する
- APL対応