Help us understand the problem. What is going on with this article?

小難しいコーディングは一切不要!!!たったの15分でLINE Clovaにクソアプリを解き放ってTシャツをゲットする方法を発明したよ。

この記事はリンク情報システム(Facebookはこちら)が主催する真夏のアドベントカレンダー「2019 Tech Connect Summer」のリレー記事です。「2019 Tech Connect Summer」は engineer.hanzomon のグループメンバによってリレーされます。

6日目の本記事は、わたくし@taisuke3(たいすけさん)が執筆しました。どうぞよろしくお願いします。

2019/08/12 悲報

大変申し訳ございません。結論から申し上げますと、本記事はなんの役にも立たないクソ記事と化しておりました。。。

記事を投稿してから一週間、メールを確認すると、在庫が丁度無くなりプレゼントできなくなった旨のお知らせが届いていました。さらに、申し込みページにはキャンペーン終了の旨が掲載されていました。

お忙しい中、プレシャスなお時間を割いて、本記事のコンテンツにトライされようとしたアグレッシブなレディースアンドジェントルメンにおかれましては、このようなエンディングを招いてしまい、本当に申し訳ございませんでした。何卒ご容赦くださいますよう伏してお願い申し上げる次第でございます。

前書き

スマートスピーカ-市場で各社がしのぎを削る中、Amazon社は昨年、対応アプリ(スマートスピーカーではスキルと言ったりします)を充実させるため、Alexaスキル開発者にTシャツ、フィギュア、タンブラーなどのグッズに加え、なんとEcho Show本体も無料でプレゼントするという大盤振る舞いを続けていました。

それにあやかった筆者は、なんの役にも立たないクソアプリを世の中に投下しつづけ、皆さんのような高い意識を持った技術者が、これまで築き上げてきた業界全体のレベルを大きく押し下げてしまいました。このような結果を招いてしまったことを深く反省し、この場をお借りして謝罪いたします。<( ̄∇ ̄)ゞゴメリンコ~♪。

Amazon Echoをお持ちの方は、「アレクサ、たいすけ先生の辛口ダイエット格言を開いて」と言ってみてください。「明日やろうは馬鹿やろう」と返ってくるだけです。このスキルを使っても一切痩せることはありませんし、現にこのスキルを作ってAmazon社から送られてきたTシャツは今でもピチピチのままです。

IMG_0293.jpeg
上記の写真は、クソアプリを投下するたびにAmazon社から頂戴した品々です。なお、写真に写りこんでいるウルトラマンはサイズ比較のためのものであり、Amazon社とは一切関係ございません。また手前味噌ではありますが、筆者が作成したクソアプリをマンガでご紹介いただいたこともございます。

さあ、次はClovaスキルをぶっ放す!

残念ながら、Alexaスキルを作ると無条件でTシャツがもらえるキャンペーンは昨年度で終了してしまいました。しかし、LINE社のスマートスピーカーClovaでは同様のキャンペーンがまだ継続されているようです。

そこで今回は、なんの役にも立たないClovaスキルをたったの15分で、しかもノンコーディングで作成する方法を筆者が編み出しましたので、この場をお借りしてご紹介いたします。(LINEアカウントは取得済みの前提)

仕様を決めよう(最初の5分)

とにかく、Tシャツをゲットすることが目的なので、スキルが起動されたら何らかの固定文言を読み上げて終了するだけの極めてシンプルな仕様にしてください。まずは、以下を参考に仕様を書き出してください。

  1. チャネル名/スキル名/呼び出し名
    チャネル名/スキル名/呼び出し名は同じ名前を設定すれば問題ありません。汎用的なひとつの単語だったり、他ユーザのスキルと同じだったりすると審査にリジェクトされます。今回は「たいすけ先生の辛口ダイエット格言」としました。

  2. 起動後に読み上げる文言
    スキルが起動したら応答する内容を決めてください。今回は「ダイエットにピッタリの格言をお教えします。あしたやろうは、バカヤロウ!」にしました。

  3. Extension ID
    リバースドメイン形式で一意のものを登録します。今回は「com.taisuke3.diet」としました。

  4. 呼び出し名(サブ)
    呼び出し名が音声認識によって標記揺れする場合の対策として入力します(任意)。揺れが発生しづらい呼び出し名(同音異義語が少ない、固有名詞を使っていないなど)の場合は入力不要でしょう。本来ここだけは、実機でどういう認識がなされるかを確認して決めたほうが良いのですが、Clovaをお持ちでない方、ご面倒な方は、勘で入力するかひとまず未入力でもよいでしょう。リジェクトされた場合はどのような標記揺れがあったか、おそらく教えてくれるはずです。今回は以下の4つを入力しました。

    • taisuke先生の辛口ダイエット格言
    • 大好き先生の辛口ダイエット格言
    • だいすけ先生の辛口ダイエット格言
    • daisuke先生の辛口ダイエット格言
  5. カテゴリ
    以下のカテゴリから選択する必要があります。今回は格言なので「学習」にしました。
    エンターテインメント/音楽・オーディオ/ライフスタイル/学習/コミュニケーション/ヘルスケア/ユーティリティ/旅行・交通/ビジネス・経済/ニュース/フード・ドリンク/地域/天気/映画・TV/ショッピング/ホームコントロール/スポーツ

  6. スキルの説明(スキルストア表示)
    スキルストアに表示される説明です。スキルの概要、利用可能なサービス内容、スキルの利用方法の記載は必須です。今回は、以下の説明にしました。
    あの(?)たいすけ先生シリーズがClovaに登場!
    「ねぇClova、たいすけ先生の辛口ダイエット格言を開いて」と言ってください。
    ダイエットにピッタリの格言をひとつお教えします。

  7. 代表サンプル発話
    代表サンプル発話を3つ用意します。以下の「たいすけ先生の辛口ダイエット格言」部分をご自身のスキル呼び出し名に変えてください。

    • ねぇClova、たいすけ先生の辛口ダイエット格言を開いて
    • ねぇClova、たいすけ先生の辛口ダイエット格言を起動して
    • ねぇClova、たいすけ先生の辛口ダイエット格言を開いて
  8. アイコン
    512x512ピクセルのPNGまたはJPG形式の画像を登録する必要があります。筆者はいつもこのフリーアイコンサイトから頂戴しています。今回は以下のアイコンにしました。

  9. 審査担当者へのコメント
    審査担当者にスキルの使い方を説明するためのコメントです。アイコンにフリー素材を使っている場合は、その旨をご記載くださいとのことです。今回は以下のコメントにしました。
    起動すると辛口ダイエット格言を発話して終了します。
    アイコンには、以下のフリー素材を利用しています。
    http://icooon-mono.com/

Web APIを作ろう(次の5分)

Clovaスキルの応答はWeb APIとして実装する必要があります。本来なら自分でWebサーバを立てるか、各種クラウドサービスを利用するなどして、Web APIをコーディングする必要があります。そこで、何とかして簡単にWeb APIを作れないかと、我々スタッフ一同は一生懸命捜しました。そしたらね、見つかりましたよ。固定レスポンスのWeb APIを瞬時に作れるmockable.ioというサービスを。(Web APIの試験用モックを作成するためのサービスのようです)

このサービスを利用して、以下のレスポンスを応答するWeb APIを作成しましょう。response.outputSpeech.values.valueの値は、ご自身が決めた『2. 起動後に読み上げる文言』に置き換えてください。

{
  "version": "1.0",
  "sessionAttributes": {},
  "response": {
    "outputSpeech": {
      "type": "SimpleSpeech",
      "values": {
          "type": "PlainText",
          "lang": "ja",
          "value": "ダイエットにピッタリの格言をお教えします。あしたやろうは、バカヤロウ!"
      }
    },
    "card": {},
    "directives": [],
    "shouldEndSession": true
  }
}

image.png

上記は、筆者が作成したときの入力内容になります。これで、Web APIは完成です。動作するのか不安な方は、cURLなどのクライアントツールで応答を確認してみてください。

※本サービスはアカウント未登録だと、24時間でWeb APIが消滅してしまいますので、登録してから利用してください。(Google、Facebook、GitHubなどとアカウント連携できるので登録は簡単です)

スキルを登録しよう(最後の5分)

あとは、Clova Developer Center βにて新しいスキルを作成し、ご自身で決めた仕様を入力していくだけの簡単なお仕事です。ほとんどフィーリングで入力できると思いますが、以下に筆者が登録したときの画面コピーを示します。

設定>基本情報

ここには決めた仕様をそのまま入力すればOKです。
image.png

設定>対話モデル

作成しているスキルは「起動⇒固定文言発話⇒終了」するだけなので、何も対話することは無いのですが、カスタムインテントはひとつ以上は必須登録になっています。筆者は「customIntent」という名前で適当にカスタムインテントを作成しました。おそらく作成さえすれば内容はなんでもよいはずです。カスタムインテントを作成したらビルドしておいてください。
image.png

image.png

設定>サーバー設定

「ExtensionサーバーのURL」には上記で作成したWeb APIのURLを入力してください。
image.png

審査申請>審査情報

ここにも決めた仕様をそのまま入力すればOKです。
image.png

審査申請>審査申請

「審査担当者へのメッセージ」欄には、貴重な時間を割いてクソアプリを審査してくれる人の身にもなって、心のこもったお詫びとお願いの言葉を記載してください。ちなみに、筆者は「特になし」と書きました。。。
image.png

審査を待つ(およそ2日。。。)

あとは、2日ほどで審査の完了メールが届き、リジェクトされなければスキルストアに公開されます。今回作成したスキルも公開されていますので、よほど暇で、時間を無駄にすることに抵抗を覚えない方は使ってみてください。

公開されたら以下のページからTシャツを申し込みましょう。筆者も申し込んだばかりなので、Tシャツが届いたらご報告いたします。たぶん。。。

https://feedback.line.me/enquete/public/3521-VAv86IUk


最後までご覧いただきありがとうございました。「2019 Tech Connect Summer」には他にもたくさんの仲間が記事を投稿していますので、ぜひご覧ください。

リンク情報システム株式会社では一緒に働く仲間を随時募集しています。また、お仕事のご依頼、ビジネスパートナー様も募集しております。お気軽にご連絡ください。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away