LINEAPI実践ガイドとは?
LINE APIに対する深い理解や高い技術力があり、コミュニティに影響力を持つエンジニアとしてLINE株式会社が認定した「LINE API Expert」および「LINE Developer Community」の有志メンバーにより執筆された書籍であり、LINEAPIでできることが事細かく書かれていたり、実装に関する知見が豊富に書かれている本。
[amazonで購入する]
(https://www.amazon.co.jp/dp/4839973768/ref=cm_sw_r_tw_dp_x_Al8SFbSP8BSV)※アフィリとかじゃないよ。
ということで、LINEAPIに関して専門的な知識と技術を持っておられるLINEAPIExpertのみなさんが書かれた最新の知見が詰まりまくった本を読んでみました。
この記事の対象者
・LINEAPIを使ったプロダクトを開発している方
・これからLINEAPIを使った事例が知りたい方
・LINEAPIの応用事例や開発知見が欲しい方
おことわり
本記事はこちらのイベントで抽選配布に当選し、景品としていただいた物を読んだレビュー記事です。
また、本記事の著者はLINEAPIをある程度理解しており、全くの初心者ではないことをご理解ください。ツイートを主にまとめながら書き進めていきます。
今話題の物を手に入れたので記事書きます!! https://t.co/kluY4Uze3M pic.twitter.com/w841OzHATC
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
#第1章
はじめてのLINEAPI
- さまざまなLINEのAPIを体験する
第1章ではclovaのスキル実装を行うのかと思えば、linebot、FlexMessage、リッチメニュー&リッチメニュー切り替えなどなどいきなりてんこ盛りの内容だった。 #line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
読んだ感想
LINEAPI未経験者を対象にAPIの紹介や実際に手を動かしながらLINEAPIを試せる構成となっていました。しかしこれが本気で試せるようになっていて、第一章だけでLINEBot/CLOVA/LIFF/LINEPayまでもを体験することができます。
あえて本文の実装については触れませんが、本当に一章だけで一気にAPIに関する理解が深まると思います。
flexメッセージやLIFFについての説明も詳しく書かれていました。
#### リッチメニューを簡単に設定する(個人的おすすめ)
・リッチメニューマネージャー
・リッチメニューエディタ
リッチメニュー を自前で実装しようとすると、何度もAPIを叩く必要がありますが、これらのツールを利用することで簡単に実装することができます。
#第2章
LINEログイン
- AWS Lambdaを使ったLINEログインの実装
ここからは高校三年生の(@shinbunbun_)のターン♪
第2章ではLINEログインの実装。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
もちろん著者は@shinbunbun_ 先生
個人的には新しいs3の使い方を見つけられた。
LINEログインのガチガチな実装はしたことないから知らなかったけど、申請すればメールアドレスも取得可能
#line実践ガイド
読んだ感想
この章はお友達の@shinbunbun_が書いたAWSを使ってLINEログインを実装する章です。
様々なWebサービスを展開していく中で、アカウント登録というのはユーザーの離脱率を大きくあげるポイントとなってしまいます。沢山のユーザーがいる、LINEログインをサービスに実装することによって、気軽にサービスを利用することができます。ソースコードの解説も丁寧に書かれていますし、自分で手を動かしながら、試せるのはとても勉強になりますし、おすすめです。
#第3章
LINEBot
- Microsoft Bot Framework Composerでローコード開発
第3章
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
自然言語処理だったりがサクッとできるみたいで思いついたbotをさささぁっと実装できそうな気がします
#line実践ガイド
読んだ感想
この章で取り上げられている、Microsoft Bot Frameworkは、C#やNodejs,Python,Javaなど幅広いSDKが用意されており、高度なボット開発ができます。さらに、Bot Framework Composerを使うことでほぼGUIだけで品質の高いボットを開発することができるという、誰もが活用できるサービスです。
この開発を行うには多少なりのgitコマンドなどは利用しなければなりません。しかし、全てのツールのインストールやAzureのアカウント作成の手順から紹介が始まります。コマンドも、専門知識も特にわからなくても本を読み進めるだけで、自分だけどBot開発を行うことができます。何か今直ぐにでも作りたいBotがある方にはおすすめかもしれません。
応答処理を全てGUIで開発することができるので、プログラミングをしたことがない方でも学習コストを押さえながら開発することができます。
また、このサービスで開発したBotはSlackやMicrosoft Teams,Skype,Facebook Messengerなどにも連携することができます。連携する際の形式は異なりますが、全てAzure内でよしなにやってくれるので一度作ってしまえば応用の幅も一気に広がると思います。
特にチャットボットなどは求められるシーンが様々なだけに、いろいろなサービスと連携できるというのはとても便利だと思います。
そして章の最後にはLINEbotのメッセージをテキストから写真に変えてみたり、スタンプに変えてみたりと、応用を学ぶことができます。他にも、ユーザーが送ってきた画像に対してどのような処理を行うのかといったことなどにも言及されており、LINEAPIの応答に関するヒントが盛り沢山です。
#第4章
LIFF(LINE Front-end Framework)
- JavaScriptとC#で作るTodoアプリケーション
読んだ感想
この章ではC#でSPA開発ができるblazor webassemblyを利用し、LIFFアプリケーションを開発する章です。と思いきや、同じアプリをJavaScriptでも実装をしてみたという二本立てになっています。
それぞれフロントエンドもバックエンドも作り方が詳細に書かれており、非常にわかりやすい説明がされています。こちらの章はプログラミング初心者の方向けというよりは、ある程度の開発経験がある方向けといった内容です。
LIFFアプリケーション開発は今後どんどん盛り上がっていくであろうミニアプリの準備段階でもありますので、興味ある方は是非この章を読み、LIFFの知識を深める事をおすすめします。
LIFFやミニアプリに関してはデベロッパーグループで沢山イベントも開催されておりますので合わせてご覧ください。
とても個人的な感想ですが、LIFFアプリは毎月のペースで大きなアップデートが現在進行形で行われています。実際に本日も興味深いアップデートが公開されました。
今日リリースされたシェアターゲットピッカーのアプデは個人的にはアツイ
— ようかん / Yosuke Inoue (@inoue2002) December 1, 2020
出た当初から送信先を探すのがめんどくさかったのでありがたい
>送信先がアルファベット順から履歴順に変わりましたhttps://t.co/rGZ6V7g3vC
先日行われたLINEDEVDAY2020のLIFFに関わるセッションでもv3に向けて開発が行われているとの事でしたので今後の進化から目が離せませんね。
#第5章
LINECLOVA
- Azure functionsおよびTypeScript✖︎VS CodeによるCLOVAスキル開発
第5章は1章よりもより踏み込んだclovaの開発基本と応用をAzure Functionsで開発していく。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
#line実践ガイド
読んだ感想
この章は本当に知見の塊の章です。記事の内容はAzure functionsとC#で開発するCLOVAスキルの実装方法について書かれています。最後の方にはJSやTSでの実装方法についても書かれていますので、幅広い方が楽しめる内容になっています。この章では前述のCLOVAが登場する章よりもさらに細かく開発に使うメゾットであったり、専門用語であったりの説明が書かれています。CLOVAについて深い知見を求めている方には是非読んでいただきたい内容です。
また、個人的にとても面白かったのは「無限ループ」について言及されている事です。これは特に公式ドキュメントに書かれている訳でもなく、思いっきりハックした内容だと個人的に思っています。これを応用する事でスキルを対話としての応答ではなく、待機状態にし、好きなだけ喋らせるというのはとても興味深かったです。
「無限ループ」に関して、著者の@himarin269さんに直接聞いてみました↓
ぜひ!
— ひらりん (Takumasa Hirabayashi) (@himarin269) November 6, 2020
無音無限ループ使うとCLOVAデバイスが待機状態になって、任意のタイミングで外から命令し放題になるので、いろんなことに使えます(Beacon組み合わせたりも楽しそう)
LINEAPIに関してはある程度の知見を持っていたはずでしたがこれに関しては私も初めて知りました。ただし、ストア公開するスキルには向いている実装とはとても言えないので注意が必要です。これぞ「実践ガイド」って気がしました。
5章 c#なので僕には読めないが、
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
clova開発においてつまりそうなところや、開発tipsがいたるところに書かれている。
「無限音源ループによるスキルの拡張」とか僕は聞いた事なかったが界隈では当たり前なのだろうか。#line実践ガイド
5章 後半にはTypeScriptでの実装について言及されている。TypeScriptの軽い説明から入り、jsコードをtsコードに移植していく流れを学ぶことが出来ます。#line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
#第6章 >LINE Beacon - M5AtomをLINE Beacon化しようストア公開への知見も書かれている。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
とりあえず、触ったことのない初心者だけではなく、少し経験したことはあるものの、それほど知見が無い人にはとても有益な情報が多いと感じた。#line実践ガイド
6章はLINEBeaconについて。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
まずはLINEBeaconの概要説明と活用事例を学ぶ。
そして、BeaconとLINEbotの実装に入るという流れ。
#line実践ガイド
読んだ感想
LINEBeaconは実際に導入されている事例が身近にあると思います。具体的には「店内に入ると公式アカウントからクーポンが届いた」「近くに自動販売機があるよと通知がきた」「自販機とLINEでポイントが溜まった」などです。Beaconの範囲の中にいるユーザーに対してイベントを起こすことができます。以前までは、Beaconの範囲に入った時と出た時で2種類のイベントを取得することができたのですが、2020年末で、範囲を出た時のイベントは廃止されます。
そんなBeaconとLINEbotを実際に連携してみる&メッセージを送ってみるといった実装を試すことができる章となっています。私も以前Beaconの実装を行ったことがありますが、比較的簡単に実装することができるのでとてもおすすめです。
範囲に入ったかどうかは取得できますが、そのユーザーが具体的にどの位置にいるかまではわからないのは実装を行う前に知っておかなければいけない事項です。それを踏まえた上で、実際にBeaconの近くにこないとできない事を実装したい場合は是非参考にしてみるといいのかなと思います。
MacOS・WinOSどちらの方法も記述されているので誰がみてもわかりやすい章となっていました。
LINENotifyで通知を送る方法についても書かれています。あ。この6章でNotifyの送信についても学べます #line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
#第7章
ハードウェア連携
- ペットのトイレ管理デバイスおよびLINEPay対応ドリンクバーの開発
最終章、7章はハードウェア連携。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
LINEAPIを現実のものと連携するAPIの応用な感じがする。#line実践ガイド
実際のプロダクトとして紹介されているため、とてもイメージがつきやすくわかりやすい。 #line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
ちょうど、温度センサー+ハードウェアで一つシステムを作らないといけないことになっていたのでとても参考になる。マイコンかってセンサーくっつけてUIFlowで条件下になったらNotifyを送るだけ。#line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
読んだ感想
この章はザ・事例という事で実際にLINEAPIを応用し、どのようなことができるのかといった事例をみるができます。
一つ目はIot✖︎LINEの事例で、センサーが反応したらLINEを送るといったことの実装事例をみることができます。
実際に家などに温度センサーや、モーター、カメラなどを置いて、それをLINEと連携するというのはとても活用の幅が広がると思います。また、ハードとセンサー類の開発は全てGUI(本書ではUIFlow)、ビジュアルプログラミングを用いた実装が紹介されており、プログラミングがよくわからない人でも、見よう見真似でブロックを積み上げることで開発することができます。
LINEとIoTを掛け合わせて何かをやってみたい方は是非参考にしてみる事をお勧めします。
後半は @sumihiro3 さんのドリンクバーの章へ。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
LINEPAYのアップデートにおける注意点などが詳しく書かれており、躓いている人にはもってこいかもしれない。#line実践ガイド
このドリンクバー、今までの章に出てこなかったobnizやGCP、NuxtやGoogleAppEngineなど非常に興味深い技術で構成されている。
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
ハードウェアの実装からLINEBotの実装、LIFFの実装まで行った上でユーザーへのUX向上の工夫まで書かれたとても学びのある内容でした
#line実践ガイド
二つ目の事例はLINEPAYとLINEBotとハードを掛け合わせたまたまた応用の事例です。著者である@sumihiro3が作られたLINEPAYドリンクバーの最新版の紹介がなされています。以前LTをされていた時の資料がごちら↓
https://speakerdeck.com/sumihiro3/line-clova-drink-bar-clova-sukirudedai-duo-ni-dorinkubawocao-zuo-suru
また、GCPの開発知見も豊富にあったのでとても参考になると思います。
最後にはGitHub ActionsとGCPを使ったCDの仕方についても書かれている。これはGCPを使う時には参考にしよう。 #line実践ガイド
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
#まとめ
こんな感じでざっとLINEAPI実践ガイドに書かれている事をまとめる&私の感想を書いてみました。
少しお値段は高いものの、内容はそれ以上に濃縮された、とても読み応えのある一冊だなと思いました。
ただ、一つ思ったことは、「入門」ではなく「実践」だということです、"何も知らない"方向けに書かれている章ももちろんありましたが、"応用"や"開発tips"といったある程度開発経験のある人向けで書かれている章も多かったです。
それだけ幅広いみなさんに楽しんでもらえる一冊なのではないのかなと思いました。
LINEAPIを活用した知見が欲しい方、また、新たなプロダクトを考えておられる方は是非一度、近くの店頭もしくはamazonへ。電子書籍版も発売されていますので、そちらも合わせてご覧ください。
なにか実装につまづいているときにもお勧めの本
— ようかん / Yosuke Inoue (@inoue2002) November 6, 2020
新しい技術やAPIに手を出したい時にお勧めの本
LINEAPI実装の新しいヒントが欲しい時にお勧めの本#line実践ガイド
この記事はSGGアドベントカレンダー1日目の記事になります。