LoginSignup
31
26

More than 3 years have passed since last update.

LINEDC Showcase: LINE API の歩き方

Last updated at Posted at 2020-02-12

この記事は LINE Developer Community 主催のイベントである、LINEDC Showcase:LINEとAWSで作るDevelopers.IO Cafeのレシピ で話す内容の補足資料です。後で見やすいにスライド対応はしていません。

どこのドキュメントを読めばよいか

基本は公式の 2 箇所です。まず概要を把握して、必要に応じて API 詳細を見ましょう。

概要 : LINE で何ができるのか

LINE プラットフォームで開発を行う場合、始め方は二通りあります。

  • 実現したいアイデアが既にあって実装したい
  • まだアイデアはないが、何ができるか知りたい

いずれの場合もまずは LINE プラットフォームで何ができるかを知ることをお勧めします。それによりアイデアがより広がったり、無駄な実装を避けることができます。

2020 年 2 月 12 日時点で、一般の開発者が開発が行える主な LINE のサービスは以下の通りです。

スマートフォン向け LINE アプリ用
- LINE ボット (Messaging API)
- LIFF アプリ
- LINE Notify

スマートフォンおよび Web、ネイティブアプリなどに組み込み
- LINE ログイン
- LINE Pay

スマートスピーカー用
- Clova スキル

この他にも LINE Ads や LINE Things、LINE ビーコンや Social、法人向けのサービスなどもありますが、まずは上記サービスを抑えておくとよいでしょう。

また、今後「ミニアプリ」なる機能が出るらしいので、アンテナを張っておいてください。

LINE ボット

もはや説明不要なレベルで認知されているチャットボットサービスです。基本的に以下のことができます。

  • ユーザーからのメッセージに応答
  • ユーザーからのアクションに応答
  • ボットからユーザーにプッシュ通知

ボットは 1 対 1 のチャット、グループおよびトークルームに対応しています。

以下に主な機能を紹介しますが、詳細はドキュメントを読んでください。

メッセージに応答

ユーザーは色々なメッセージをボットに送ってきます。これらのメッセージに対して適切に応答するよう開発できます。

  • テキスト
  • 絵文字、スタンプ
  • 画像、動画
  • 位置情報、等

アクションに応答

ユーザーが明示的に送ってくるメッセージ以外にも、ボットから送ったボタンをクリックしたり、メニューをクリックするなどのアクションを行った際も、応答するように開発できます。

プッシュ通知

チャットボットは、ユーザーのメッセージやアクションに対して返信することが基本ですが、一定時間を過ぎてから返信したり、お知らせのようにボット側から情報を発信する場合は、プッシュ通知という機能を使います。

プッシュ通知はユーザーにメッセージを送れる便利な機能である一方、課金対象でもあるため、利用シーンを慎重に検討する必要があります。料金のプランは今後も変わる可能性がありますが、現時点のものは以下のサイトで確認できます。

料金プラン: https://www.linebiz.com/lp/line-official-account/plan/

メッセージの種類

ボットから応答したりプッシュするメッセージは、多くの種類をサポートしている点は LINE の魅力です。

  • テキスト、音声、動画、スタンプ、絵文字などの通常のメッセージ
  • ボタンやカルーセルを使えるテンプレートメッセージ
  • テンプレートメッセージよりリッチなフレックスメッセージ

テンプレート: カルーセル

フレックスメッセージ

リッチメニュー

チャットボットの課題として、ユーザーがボットに何を話しかけると良いか分からない問題があります。
リッチメニューを使うとこの問題がスマートに解決できます。

リッチメニューは非常に柔軟な機能を提供します。

  • 全ユーザーに表示される既定のメニューを設定できる
  • ユーザー単位でリアルタイムに動的に変更できる
  • メニューの高さを 2 段階から選択できる
  • メニュー上のタップエリアを最大 20 個指定できる
  • LINE ボットアカウント毎に最大 1000 ものメニューを登録できる

URL スキーム

聞きなれない言葉かもしれませんが、ユーザーがワンタップでカメラを起動したり、位置情報を起動することができます。LINE に不慣れなユーザーに対して、高度な操作を要求する場合に非常に便利です。

慣れていないと、位置情報送るなどの操作も、意外とできないものです

LIFF アプリ

LIFF (LINE Front-end Framework) は LINE アプリ内で起動するブラウザや、サファリやクローム、マイクロソフトエッジなどの外部ブラウザで動作する仕組みで、以下のことができます。

  • LINE ログインを行う
  • LINE ユーザーの情報を取得可能
  • LINE アプリ内で開いた場合、メッセージの送信が可能
  • QR コードリーダーを起動したり、指定した URL を開く

元々 LINE ボットの機能追加として公開された機能でしたが、現在は独立したサービスとして機能します。LINE ID を使ったサインイン (LINE ログイン) が簡単に実装でき、またプロファイルを取得できるのは便利です。

また引き続きボットの一部として動作し、LINE ボットでは足りない、あと少しの機能を補完することも簡単にできます。

これまで HTML/JavaScript/CSS で開発した経験がある方には強力な武器となるでしょう。

LINE Notify

任意の Web サービスと連携して、イベント駆動で通知を行う仕組みを提供します。例えば GitHub と連携してみたり、IFTTT と連携することも簡単です。

1 時間で呼び出せる上限が 1000 回であったり、個人で登録するようなサービスであるため、主に開発者向けのサービスだと思いますが、使いどころがハマればとても便利です。プッシュ通知として商業利用する場合は、LINE 公式アカウントを検討する必要があります。

具体的な内容は手順は以下の記事も参考にしてみてください。

dotstudio: LINE NotifyとGitHubを連携してSlackから移行してみました。

LINE ログイン

昨今多くのサービスでは Yahoo ログイン、Facebook ログイン、Google ログイン、Microsoft アカウントなど、多くの認証連携が行われますが、LINE もその例外ではなく、LINE ログインを提供しています。

既に紹介した LIFF を使う事もできますが、iOS/Android のネイティブアプリなどにも対応するため、ユーザー認証をしたい場合は LINE ログインを試してください。当然 LINE 開発者コンソールなどのログインも LINE ログインです。

LINE Pay

キャッシュレス競争の渦中にある LINE Pay ですが、開発者が LINE Pay を使った決済を簡単に実装することができます。現在バージョン 3 が公開され、オンライン決済だけでなく、QR コードを使ったオフライン決済も対応しています。

LINE ボットと組み合わせたり、独自の Web サービスに組み込んだりと柔軟に使えます。

福岡市で導入された事例は有名で、似たようなことが自分たちでもできると思うとわくわくです。
公共施設へLINE Pay導入 - 福岡市の公共施設へ唯一導入されたQRコード決済サービス「LINE Pay」

Clova スキル

「ねぇクローバー」でおなじみのスマートスピーカーに独自スキルを追加できます。既に多くのアプリがストアに公開されており、ハッカソンなどでも活躍する場が増えています。

Clova の開発は以下の機能が既にサポートされています。

  • 自然言語解析
    • 発話者の意図の読み取り
    • キーワードの抜きだし
  • ストアへの公開審査
  • 複数のクローバープラットフォームへの対応
  • 多言語対応(発話)

こちらも LINE ボットとの連携に強みがあり、Clova 単体のスキルだけでなく、シームレスな LINE 連携がユーザー体験を押し上げるため魅力です。

まずは開発者登録

何をするにも開発者登録です。かならず LINE アカウントが必要となるため、自分のアカウントを使うか、専用のアカウントを用意しましょう。大半の人は自分のアカウントをそのまま使っています。

LINE 開発者サイト: このサイトより画面に従って登録してください。

API リファレンスを眺める

どのサービスも、多くは以下の 3 パターンです。

  • LINE プラットフォームから、自分の Web API が呼び出される (Webhook)
  • LINE プラットフォームの API を呼び出して処理を行う
  • LIFF やフレックスメッセージなど UI 要素がある場合、画面をデザインする

API リファレンスは一見、膨大な情報の羅列に見えますが、概要と対応するように記述があるため、やりたいことを探すことも、出来ることを探すことも、容易に行えます。開発しないといけないものは独自の Web API であることが多いです。

自分の Web API が呼び出される

LINE ボットに対してユーザーがメッセージを送信した場合や、クローバーに対してユーザーが発話した場合など、処理が必要な場合に LINE プラットフォームより情報が送られてきます。基本的な処理のフローは同じです。

  • データの送信元を検証する
  • データの中身を解析する
  • 中身に応じて処理を行う

LINE の Web API を呼び出す

行う処理が決まれば、以下の手順で API を呼び出します。

  • API 呼び出しに必要な認証などを行い、アクセストークンを取得する
  • 取得したアクセストークンと必要なデータを渡して API を呼び出す
  • 処理結果に応じて必要な対応をする

API 呼び出しは常に成功するとは限りません。応答結果によって処理を行う必要があります。

Web サービスのホスト

最後に多くの場合、開発した Web API をクラウドなど外部にホストする必要があります。
私のお勧めは当然、多くの言語を柔軟にサポートする Microsoft Azure ですが、Heroku や GCP、AWS など使い慣れたものを使ってください。

私もここ Qiita に多くの記事を投稿しているので、参考までにどうぞ。

kenakamu の LINE Bot 系記事

どこから始めるか

コードを書きたい場合、多くのサービスはサンプルアプリが存在します。また各種言語の SDK が存在します。
C# は残念ながら公式がありませんが、コミュニティで作成しているので是非お試しください。

GitHub: LINE 公式レポジトリ
GitHub: LINE Developer Community レポジトリ

また Qiita やはてぶにも多くの「やってみた」系記事があるので試してください。

情報収集がしたい場合は、コミュニティに参加してください。

Connpass: LINE Developer Community
Facebook: LINE Developer Community

質問がある場合は Q&A フォーラム へどうぞ。

まとめ

LINE プラットフォームは様々な事ができるため、はじめはその内容に圧倒されるかもしれませんが、一つ一つ理解していけば、攻略は必ずできます。是非アイデアを形にするプラットフォームとして検討してみてください。

31
26
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
26