Alexaカスタムスキルが自身のEchoから認識されない問題
あるいは、Amazonアカウントのややこしい関係。
ずっと更新さぼってました。
こんな誰にも紹介していないブログでもたまに見に来る人がいるので、自分が困ったことくらいはブログにしていこうと思います。
さて、今回のテーマはamazonのアカウントについてです。
Alexa skillを作っていてはまったので。
こちらのページを見ていただくと、以下のような記述があります。
Alexa搭載デバイス(Amazon Echoなど)を使ってテストするには、Amazon開発者ポータルで開発者アカウントのサインアップに使用したのと同じメールアドレスでデバイスを登録すると、ウェイクワードと呼び出し名を使用してスキルを呼び出すことができます。 「アレクサ、<呼び出し名>を開いて」
ところが、実際にこの通りに作っても私のamazon echoは全く自作のスキルに反応してくれませんでした。
なのでいろいろ調べて原因を突き止めました。
原因と解決策
早い話が私のAmazonデベロッパーアカウントがAmazonのグローバルアカウント(amazon.com 他)に、 Amazon EchoがAmazon.co.jpアカウントに紐づいていたのが原因でした。 これらはすべて同一のメールアドレスで登録してあります。
なので、グローバルアカウント(amazon.com 他)の方のメールアドレスを変更。
そうしたらデベロッパーアカウントはamazon.co.jpのアカウントを認識しました。 めでたしめでたし。
AmazonグローバルアカウントとAmazon.co.jpのアカウントについて
amazon.inのページですが、ここを見るとこんなことが書いてあります。 www.amazon.in
You won't have access to other websites using your Amazon.in log-in (Audible.com, Prime Video, Junglee, accounts at international Amazon sites (co.uk/.fr/.de/.es/.ca/.com/.au/.com.br/.nl/.it/.com.mx) except for Amazon.cn and Amazon.co.jp, etc.)
意訳すると、「アカウント消すと世界的にamazonが使えなくなるよ、日本と中国は除いて」という意味になります。
つまりAmazonはほとんどの国で同じアカウントが使えますが、日本と中国は別アカウントなのです。
管理が別なので、もちろんそれぞれに同じメールアドレスを使うことは可能です。
Amazonデベロッパーアカウントについて
デベロッパーアカウントはAmazon開発者ポータルで使えるアカウントになります。
ここで問題になるのが、デベロッパーアカウントは世界共通だという事です。
日本も中国も関係なく、同じ場所でアカウントが管理されます。
じゃあこのデベロッパーアカウントはAmazonアカウントとどう紐づくのかというと…
- デベロッパーアカウントを作るときにグローバルアカウントを持っていると、グローバルアカウントと紐づく
- この際、Amazon.co.jpのアカウントとは紐づかない
- グローバルアカウントがなくAmazon.co.jpのアカウントがあると、Amazon.co.jpのアカウントと紐づく
というルールになるようで、AmazonのグローバルアカウントとAmazon.co.jpのアカウントが同じメールアドレスであった場合、両方に紐づくことはなく、優先されるのはグローバルの方です。
Amazon.co.jpアカウントしか持っていないから大丈夫だろうと思われた方、一つ罠があります。
Amazon開発者ポータルログイン時にAmazonn Developerアカウントを作成を押して、アカウントを作成した場合、Amazonのグローバルアカウントが勝手に作成されます!
なので、正解はAmazon.co.jpアカウントだけを持った状態で、そのID・パスワードでログインすること。
これようやくAmazon.co.jpアカウントとAmazonデベロッパーアカウントを紐づけることができます。
まとめ
Amazonのグローバルアカウントと日本アカウントとデベロッパーアカウントのややこしい関係について述べました。
もう少しわかりやすくなってほしいものです。