はじめに、初心者による初心者向けの内容であることをお断りしておきます。
Alexaスキルを作成するにあたり、まったくの独自コンテンツを用意するのは、プログラミングとは別の意味で難しさと敷居の高さがあります。
そこでゲームなどの便利アプリを作成するのは全然ありなのですが、実際にアマゾンに審査いただいて公開されるかは、甘く考えない方がいいのかも知れません。著作権や商標にからむ話なので。
私の事例を他山の石として、時間を無駄にしないようにしてほしいです。
Alexaスキル「来週のサザエさん」を作りました。 #サザエさん #Amazon #Alexa
「あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。」ってアレクサに実際に言わせるのは、とても面白かった。それだけで満足していた。
何を思ったか、2018年3月26日に実際に申請してみました。
Alexaスキル「来週のサザエさん」
'use strict';
const Alexa = require('alexa-sdk');
const APP_ID = undefined; // TODO replace with your app ID (OPTIONAL).
const SKILL_NAME = '来週のサザエさん';
const SKILL_SETUMEI = 'サザエさんの次回予告を紹介する非公式スキルです。';
// 更新対象
const nextNotice = '大合戦エイプリルフール、男たちの留守番、カツオあくび地蔵、';
const handlers = {
'LaunchRequest': function () {
//this.emit(':tellWithCard', speechOutput + 'さて、次回は。' + nextNotice + 'の3本です。あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。', speechOutput);
const speechOutput = SKILL_SETUMEI + ' さて、次回は。' + nextNotice + 'の3本です。あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。';
this.emit(':tellWithCard', speechOutput, this.t('SKILL_NAME'), this.t('speechOutput'));
},
'sazae': function () {
//var intent = this.event.request.intent;
//console.log(JSON.stringify(intent));
const speechOutput = SKILL_SETUMEI + ' さて、次回は。' + nextNotice + 'の3本です。あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。';
this.emit(':tellWithCard', speechOutput, this.t('SKILL_NAME'), this.t('speechOutput')); this.emit(':tellWithCard', 'さて、次回は。' + nextNotice + 'の3本です。あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。');
},
'orderIntent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'orderintent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'AMAZON.HelpIntent': function () {
const speechOutput = 'サザエさんの次回予告を紹介します';
this.emit(':ask', speechOutput, speechOutput);
},
'AMAZON.CancelIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StopIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StartOverIntent': function () {
const speechOutput = 'サザエさんの次回予告を紹介する非公式スキルです';
this.emit(':ask', speechOutput, speechOutput);
},
'Unhandled': function () {
const speechOutput = 'インテントの設定が間違っていませんか? 一度設定を確認して下さい。';
this.emit(':tell', speechOutput);
}
};
exports.handler = function (event, context) {
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
// To enable string internationalization (i18n) features, set a resources object.
alexa.registerHandlers(handlers);
alexa.execute();
};
1度目の申請結果
①使用されている第三者の商標またはブランド:サザエさん 第三者の商標/ブランドが使用されていたメタデータ: スキルタイトル、呼び出し名、応答内容 Amazonにとってカスタマーへの透明性は非常に重要なものです。
これらの問題への対策としては、以下の2つが考えられます。
(省略)
②スキルでは、Amazonのブランドまたは商標が不正に使用されています。Amazonのプログラムを通じたスキルの提供に関連して、特定のAmazonブランドおよび商標の使用許可を受けたい場合は、こちらの商標についてのガイドラインを参照してください。 スキルを更新して、不正使用されていたAmazonブランドまたは商標を削除のうえ、スキルの認定を再申請してください。
2018年3月28日に、フジテレビの電話窓口に2回かけたが、サザエさん担当者が不在との事で電話を切るしかなかった。
「いらすとやさん」何でもありますね。便利です。
2度目の申請結果
使用されている第三者の商標またはブランド:サザエさん 第三者の商標/ブランドが使用されていたメタデータ: スキルタイトル、呼び出し名、応答内容 Amazonにとってカスタマーへの透明性は非常に重要なものです。
これらの問題への対策としては、以下の2つが考えられます。
(省略)
って、次回予告にも著作権があるって事らしいです。
2度目のスキル申請ですが、落ちました #サザエさん #alexa #AmazonEcho #アマゾン
Alexaスキル「国民的アニメの次回予告 」
'use strict';
const Alexa = require('alexa-sdk');
const APP_ID = undefined; // TODO replace with your app ID (OPTIONAL).
const SKILL_NAME = '国民的アニメの次回予告';
const SKILL_SETUMEI = '国民的アニメの次回予告を紹介する非公式スキルです。';
// 更新対象
const nextNotice = '大合戦エイプリルフール、男たちの留守番、カツオあくび地蔵、';
const handlers = {
'LaunchRequest': function () {
const speechOutput = SKILL_SETUMEI + ' さて、次回は。' + nextNotice + 'の3本です。';
this.emit(':tellWithCard', speechOutput, this.t('SKILL_NAME'), this.t('speechOutput'));
},
'sazae': function () {
//var intent = this.event.request.intent;
//console.log(JSON.stringify(intent));
const speechOutput = SKILL_SETUMEI + ' さて、次回は。' + nextNotice + 'の3本です。';
this.emit(':tellWithCard', speechOutput, this.t('SKILL_NAME'), this.t('speechOutput'));
},
'orderIntent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'orderintent': function () {
this.emit(':tell', 'インテントの大文字、小文字が間違っていませんか? 一度設定を確認して下さい。');
},
'AMAZON.HelpIntent': function () {
const speechOutput = '国民的アニメの次回予告を紹介する非公式スキルです';
this.emit(':ask', speechOutput, speechOutput);
},
'AMAZON.CancelIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StopIntent': function () {
this.emit(':tell', 'スキルを中止します。またいつでも呼んでくださいね!');
},
'AMAZON.StartOverIntent': function () {
const speechOutput = '国民的アニメの次回予告を紹介する非公式スキルです';
this.emit(':ask', speechOutput, speechOutput);
},
'Unhandled': function () {
const speechOutput = 'インテントの設定が間違っていませんか? 一度設定を確認して下さい。';
this.emit(':tell', speechOutput);
}
};
exports.handler = function (event, context) {
const alexa = Alexa.handler(event, context);
alexa.APP_ID = APP_ID;
// To enable string internationalization (i18n) features, set a resources object.
alexa.registerHandlers(handlers);
alexa.execute();
};
まとめ
アニメ「サザエさん」を放送しているフジテレビや、新たにスポンサーになるアマゾンが主体となって、正式にAlexaで次回予告をしゃべってくれるスキルを開発してほしいです。