Alexaスキル「来週のサザエさん」改め「国民的アニメの次回予告 」申請を諦めた話

*はじめに、初心者による初心者向けの内容であることをお断りしておきます。*

Alexaスキルを作成するにあたり、まったくの独自コンテンツを用意するのは、プログラミングとは別の意味で難しさと敷居の高さがあります。

そこでゲームなどの便利アプリを作成するのは全然ありなのですが、実際にアマゾンに審査いただいて公開されるかは、甘く考えない方がいいのかも知れません。著作権や商標にからむ話なので。

私の事例を他山の石として、時間を無駄にしないようにしてほしいです。


[Alexaスキル「来週のサザエさん」を作りました。 #サザエさん #Amazon #Alexa](https://twitter.com/allforbigfire/status/959052820098895872)

「あーん。あら、来週もまた見てくださいね。うん、わっキュンキュン。地球上で最もお客様を大事にする企業Amazonがお送りいたしました。」ってアレクサに実際に言わせるのは、とても面白かった。それだけで満足していた。

何を思ったか、2018年3月26日に実際に申請してみました。

####　Alexaスキル「来週のサザエさん」

```JavaScript:index.js

'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回かけたが、サザエさん担当者が不在との事で電話を切るしかなかった。

<img width="557" alt="sazae.png" src="https://qiita-image-store.s3.amazonaws.com/0/155894/fee30c36-dd2e-54a6-deac-ce485cbd9e29.png">

「いらすとやさん」何でもありますね。便利です。

2度目の申請結果
> 使用されている第三者の商標またはブランド:サザエさん 第三者の商標/ブランドが使用されていたメタデータ: スキルタイトル、呼び出し名、応答内容 Amazonにとってカスタマーへの透明性は非常に重要なものです。
これらの問題への対策としては、以下の2つが考えられます。
(省略)

って、**次回予告**にも著作権があるって事らしいです。

[2度目のスキル申請ですが、落ちました #サザエさん #alexa #AmazonEcho #アマゾン](https://twitter.com/allforbigfire/status/979336937205936129)

####　Alexaスキル「国民的アニメの次回予告 」

```JavaScript:index.js

'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で次回予告をしゃべってくれるスキルを開発してほしいです。