# LINE Front-end Framework (LIFF) LINE Front-end Framework(LIFF)は、LINEヤフー株式会社が提供するウェブアプリのプラットフォームです。このプラットフォームで動作するウェブアプリを、LIFFアプリと呼びます。 LIFFアプリを使うと、LINEのユーザーIDなどをLINEプラットフォームから取得できます。LIFFアプリではこれらを利用して、ユーザー情報を活用した機能を提供したり、ユーザーの代わりにメッセージを送信したりできます。 LIFF v2で追加された機能については、「[リリースノート](https://developers.line.biz/ja/docs/liff/release-notes/)」を参照してください。 **LIFFの機能をウェブ上で試せます** LINEヤフー株式会社では開発者向けに[LIFFプレイグラウンド](https://liff-playground.netlify.app/)というウェブアプリ(LIFFアプリ)を提供しています。LIFFプレイグラウンドではLIFFの基本的な機能が試せます。LIFFを用いるとどのようなことができるのかを確認したいときに参照してください。なお、[LIFFプレイグラウンドのソースコード](https://github.com/line/liff-playground)をGitHubで公開しています。 **OpenChatでのLIFFアプリの利用はサポートされていません** 現在のところ、OpenChatではLIFFアプリの利用は正式にサポートされていません。たとえば、LIFFアプリからプロフィール情報を取得できない場合があります。 ## デモ用のLIFFアプリを体験する [LINE API Use Case](https://lineapiusecase.com/)では、デモ用のLIFFアプリと、そのソースコードを公開しています。お手持ちのスマートフォンでデモ用のLIFFアプリを開いて、店舗予約やテーブルオーダーを体験してみましょう。 - [デモ用のLIFFアプリでヘアサロンやレストランの店舗予約を体験する](https://lineapiusecase.com/ja/usecase/reservation.html) - [デモ用のLIFFアプリでデジタル会員証を体験する](https://lineapiusecase.com/ja/usecase/membership.html) - [デモ用のLIFFアプリでテーブルオーダーを体験する](https://lineapiusecase.com/ja/usecase/tableorder.html) - [デモ用のLIFFアプリでスマホレジを体験する](https://lineapiusecase.com/ja/usecase/smartretail.html) ## 推奨環境 LIFFの推奨環境は以下のとおりです。 なお、LIFFアプリを[LIFFブラウザ](https://developers.line.biz/ja/docs/liff/overview/#liff-browser)で開いた場合と、[外部ブラウザ](https://developers.line.biz/ja/glossary/#external-browser)で開いた場合では、使用できる機能が異なります。たとえば、`liff.scanCode()`は、外部ブラウザでは利用できません。詳しくは、「[LIFF v2 APIリファレンス](https://developers.line.biz/ja/reference/liff/)」を参照してください。 ### LIFFアプリをLIFFブラウザで開く場合 | 項目 | 推奨環境 | 最低動作環境 | | --- | --- | --- | | iOS | 最新バージョン。[WKWebView](https://developer.apple.com/documentation/webkit/wkwebview)が使用されます。 | LINEの推奨環境に準ずる。 \* | | Android | 最新バージョン。[Android WebView](https://developer.android.com/reference/android/webkit/WebView)が使用されます。 | LINEの推奨環境に準ずる。 \* | | LINE | 最新バージョン | LINEの推奨環境に準ずる。 \* | **LIFFアプリは、OS、LINEともに最新バージョンの環境での利用を推奨します** LIFFアプリは、OS、LINEともに最新バージョンの環境での利用を推奨します。上記の「最低動作環境」以降のバージョンでも、機能や設定によっては動作しない場合や画面が正常に表示されない場合があります。 \* LINEの推奨環境については、ヘルプセンターの「[LINEの推奨環境を教えてください](https://help.line.me/line/ios/pc?lang=ja&contentId=10002433)」を参照してください。 ### LIFFアプリを外部ブラウザで開く場合 以下のブラウザの最新バージョンで動作します。 Microsoft Edge、Google Chrome、Firefox、Safari ## LIFFブラウザ LIFFブラウザはLIFFアプリ専用のブラウザです。ユーザーがLINEでLIFFのURLを開くと、LIFFブラウザでLIFFアプリが開きます。  LIFFブラウザはLINE内で動作するため、LIFFアプリはユーザーにログインを促さなくてもユーザーデータにアクセスすることができます。また、LIFFブラウザはLIFFアプリを共有したり、LIFFアプリから友だちにメッセージを送るなど、LINE特有の機能を提供しています。 ## LIFFブラウザの仕様 LIFFブラウザは、iOSでは[WKWebView](https://developer.apple.com/documentation/webkit/wkwebview)、Androidでは[Android WebView](https://developer.android.com/reference/android/webkit/WebView)を利用しています。そのため、LIFFブラウザの仕様および動作についてもこれらの仕組みに準拠します。 なお、LIFFブラウザは、外部ブラウザがサポートしているウェブ技術の一部をサポートしていません。詳しくは、「[LIFFブラウザと外部ブラウザの違い](https://developers.line.biz/ja/docs/liff/differences-between-liff-browser-and-external-browser/)」を参照してください。 ## LIFFブラウザのキャッシュ LIFFブラウザが利用している[WKWebView](https://developer.apple.com/documentation/webkit/wkwebview)や[Android WebView](https://developer.android.com/reference/android/webkit/WebView) は、表示したコンテンツの内容を、[Cache-Control](https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/Cache-Control) などのHTTPヘッダーの指示に従って、キャッシュとして保存して利用する場合があります。 LIFFブラウザにおけるキャッシュの制御については、[Cache-Control](https://developer.mozilla.org/ja/docs/Web/HTTP/Reference/Headers/Cache-Control) などのHTTPヘッダーを用いて行ってください。 **キャッシュの削除について** LIFFブラウザに保存されたキャッシュを明示的に削除することはできません。 ## LIFFブラウザの画面サイズ LIFFブラウザは、以下の3つの画面サイズで表示できます。  画面サイズは、LIFFアプリをLINEログインチャネルに追加するときに指定します。詳しくは、「[LIFFアプリをチャネルに追加する](https://developers.line.biz/ja/docs/liff/registering-liff-apps/#registering-liff-app)」を参照してください。 ## アクションボタン LIFFアプリの画面サイズを`Full`に指定している場合、ヘッダーには、デフォルトでアクションボタンが表示されます。  **アクションボタンを非表示にする** LINE DevelopersコンソールでLIFFアプリの[**モジュールモード**]をオンにすると、アクションボタンを非表示にできます。詳しくは、「[LIFFアプリをチャネルに追加する](https://developers.line.biz/ja/docs/liff/registering-liff-apps/)」を参照してください。 アクションボタンを押すと、[マルチタブビュー](https://developers.line.biz/ja/docs/liff/overview/#multi-tab-view)または[オプション](https://developers.line.biz/ja/docs/liff/overview/#multi-tab-view-option)のどちらかがLINEアプリのバージョンに応じて表示されます。LINEバージョン15.12.0以降ではマルチタブビューが表示され、LINEバージョン15.12.0未満ではオプションが表示されます。 ## マルチタブビュー マルチタブビューには、使用中のLIFFアプリのオプションと最近使用したサービスが表示されます。 1. [オプション](https://developers.line.biz/ja/docs/liff/overview/#multi-tab-view-option) 1. [最近使用したサービス](https://developers.line.biz/ja/docs/liff/overview/#multi-tab-view-recent-service)  ### オプション 以下のオプションが、ユーザーのLINEアプリの設定言語で表示されます。 | 項目 | 説明 | | --- | --- | | **更新** | 現在開いているページを再読み込みします。 | | **シェア** | 現在開いているページの[パーマネントリンク](https://developers.line.biz/ja/glossary/#permanent-link-liff)を、LINEメッセージでシェアします。 | | **ページを最小化** | LIFFブラウザを最小化します。詳しくは、「[LIFFブラウザを最小化する](https://developers.line.biz/ja/docs/liff/minimizing-liff-browser/)」を参照してください。 | | **権限設定** | 権限設定画面を開きます。権限設定画面では、現在開いているLIFFアプリのカメラやマイクへのアクセス権を確認できます。変更はできません。LINEバージョン14.6.0以降で利用可能です。 | **パーマネントリンクのシェアに失敗する場合があります** 現在のページのURLがLINE Developersコンソールの[**エンドポイントURL**]に指定したURLで始まらない場合、パーマネントリンクを取得できずシェアに失敗します。 ### 最近使用したサービス 最近使用したサービスには、ユーザーが開いたLIFFアプリが、利用履歴の新しい順に最大50件まで表示されます。 LIFFアプリを閉じたり、別のLIFFアプリを新たに開いたりするとその時点のスクリーンショットが利用履歴として表示されます。ユーザーは利用履歴を使って、LIFFアプリを再度開くことができます。 LIFFアプリが利用履歴から再度開かれた際、LIFFアプリは再開または再読み込みされます。再開、再読み込みの仕様は、以下のとおりです。 | 再度開かれた際の挙動 | 条件 | 仕様 | | --- | --- | --- | | LIFFアプリが再開される |
以下の条件を両方満たすLIFFアプリ
LIFFアプリの開発を円滑にするCLIツールです。LIFF CLIでできることは次のとおりです。