Laravelで作成したアプリを、LIFFを用いてLINE内ブラウザで表示する手順

##はじめに
先日、LINE内ブラウザで表示及び操作ができる、イベント企画アプリの共同開発に参加しました。
そこで今回はLIFFを用いてLINE内ブラウザでアプリを表示する手順を解説していきます。

以下のTweetに添付された動画が完成形です。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/%E7%A7%81%E7%AB%8B%E6%8E%A2%E6%B1%82%E5%AD%A6%E5%9C%92?src=hash&amp;ref_src=twsrc%5Etfw">#私立探求学園</a> の <a href="https://twitter.com/hashtag/%E6%8A%80%E6%B1%82%E7%A5%AD?src=hash&amp;ref_src=twsrc%5Etfw">#技求祭</a> にて <a href="https://twitter.com/hashtag/%E6%8A%80%E6%B1%82%E7%A5%AD%E9%9D%92%E7%B5%84?src=hash&amp;ref_src=twsrc%5Etfw">#技求祭青組</a> はLineのLIFFを使って暇人マッチングアプリを作成しました:クラッカー:<br>メンバーみんながLineDevelopersのプラットフォームを使うのが初めてで要件定義にかなり四苦八苦しましたが、なんとか形になったものができて本当によかったです:うふふ: <br>みなさん、お疲れさまでした <a href="https://t.co/AMbG3s4v8M">pic.twitter.com/AMbG3s4v8M</a></p>&mdash; Nanaka/国際恋愛系エンジニア (@nanakaglucklich) <a href="https://twitter.com/nanakaglucklich/status/1302114090022699008?ref_src=twsrc%5Etfw">September 5, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

##前提条件
- アプリ自体は開発済みで、どこかしらにデプロイされている（今回はHerokuにデプロイしました）
- LINEアカウントとなるMessaging APIチャネルは作成されている
- LIFFアプリに遷移するためのリッチメニューは作成されている

##1.LINEログインチャネルの作成
LINE Developersのページを開きLINEログインします。
ログインできたらLIFFアプリを登録するためのLINEログインチャネルを作成します。
基本的にはMessaging APIと同じ要領で進めていきます。アプリタイプはウェブアプリを選択しましょう。

##2.LIFFアプリを登録
LINEログインチャネルにLIFFアプリを登録する手順です。
チャネル一覧よりLINEログインチャネルを選択し、LIFF→LIFFアプリを追加へと進みます。
今回はイベント新規投稿と、イベント一覧の二つのページのどちらかを選択して遷移できるような仕様にしたいのでLIFFアプリを二つ設定する必要があります。

設定項目がやや複雑なので順に解説していきます。
①アプリ名
まずはアプリ名ですが、こちらは実際に表示されるものではないので後から見てわかりやすいものであればなんでも構わないと思います。
![スクリーンショット 2020-09-21 21.26.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/6c1f9443-6e08-c7ac-d22e-fb8ebb250e89.png)

②サイズはアプリを開くLINEブラウザのサイズのことです。Fullは画面いっぱい、Tallは8割くらい、Compactは半分くらいのブラウザサイズとなります。

③エンドポイントURL、こちらが<b>最重要</b>です。アプリのURLを入力するのですが、httpsであることが求められます。
また今回はHerokuにデプロイして取得した新規投稿ページ、一覧ページそれぞれのURLを入力します。

<b>新規投稿ページURL入力例</b>
![スクリーンショット 2020-09-21 22.35.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/dd83ad5e-e32e-064d-53ef-4ba18157ba1b.png)
<b>一覧ページURL入力例</b>
![スクリーンショット 2020-09-21 22.35.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/3766797f-a701-67ea-43dd-ab2d6b6fe562.png)
＊画像のURLは実在しないURLなので「有効なHTTPS URLを入力してください」と表示されています。

④スコープはLIFFアプリ内で認める動作を選択します。選択したからといって必ずその動作をアプリ内で実装しなければいけないということではないのですが、今回は今後の拡張も考えて全て選択しておきます。
![スクリーンショット 2020-09-21 21.26.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/3c8824e7-0c40-662c-3f00-4df0e8366cbd.png)

⑤ボットリンク機能はLINEログインしたときにLINE公式アカウントを友だち追加するか否かの設定です。normalを選択するとLINEログインの同意画面にLINE公式アカウントを友だち追加するオプションが表示され、aggressiveを選択するとLIFFアプリの利用条件の同意画面の後に表示されます。

⑥ScanQRオプションをONにすると、LIFFアプリでQRコードリーダーを利用することができます。今回はオフにしておきます。
![スクリーンショット 2020-09-21 21.26.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/51e9221b-2bd8-137f-ed03-664f80b135c7.png)
また、全ての項目が後から編集可能です。


同じ要領でもう一つLIFFアプリを追加しましょう。二つ目のLIFFアプリのエンドポイントURLはアプリの新規投稿ページと一覧ページのうち、一つ目で設定しなかった方を設定します。

これでLINEログインチャネルに新規投稿ページ、一覧ページの二つのLIFFアプリのURLが作成されました。
![スクリーンショット 2020-09-21 21.46.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/637012/2edc09d7-0afc-51fa-18b2-4d0fb9e53a7a.png)
それぞれのURLをリッチメニューのリンクに入力すれば完成です。

また、MessagingAPIチャネル、リッチメニューの作成、リッチメニューへのURL入力は以下の記事を参考にしてください。

[Line Developersでリッチメニューを作成する](https://qiita.com/nanakahorii7/private/14976f3e13a35d9dde20)