LINE Front-end Framework (LIFF)の基本的な機能を実演する小さなウェブアプリケーションです。
🌎 このREADMEを英語で読みたい場合は、こちらのページを参照してください: English
LIFFの使用方法に応じて、デプロイ方法を選択してください。
- LIFFが提供する機能を試してみたいだけなら:Herokuボタンを使ってターミナルを使わずにアプリをデプロイする
- HerokuとNode.jsを使ってLIFFアプリをカスタム化して開発したいなら:アプリをカスタマイズしてターミナル経由でHerokuにデプロイする
- お好みのサーバープラットフォームを使ってLIFFアプリを開発したいなら:他のサーバープラットフォームを使用する
以下の手順に従うと、HerokuボタンとNode.jsを使ってLIFF v2 starter appを簡単にデプロイできます。
項目 | 説明 |
---|---|
LINEログインチャネル | LINEログインが提供する機能をアプリで利用するための通信路。 チャネルは、LINE Developers コンソールで作成できます。 |
Heroku アカウント(任意) | Herokuは、Webアプリをデプロイできるクラウドサービスです。他のサーバープラットフォームを使用する場合は、Herokuのアカウントは必要ありません。 |
- 上記のDeploy to Heroku ボタンをクリックします。
- Herokuの「Create New App」ページで、必要事項を入力します。
- Deploy appをクリックします。
- Viewをクリックしてアプリのデプロイが成功したことを確認します。「You have not assigned any value for LIFF ID」のメッセージが画面に表示されていたらデプロイができています。
- HerokuアプリのURL(
https://{Herokuアプリ名}.herokuapp.com
)をメモしておいてください。 LIFFにアプリを追加する際に必要になります。
- 「LIFFアプリをチャネルに追加する」の手順に従ってLIFFアプリをチャネルに追加してください。
- 次のステップで必要になるので、LIFF IDをメモしておいてください。 LIFF IDはコンソールに表示されるLIFF URLの最後の部分です:
https://liff.line.me/{liffId}
- Scopeオプションの編集ボタンをクリックします。
- すべて表示オプションをクリックして
chat_message.write
を有効にします。このスコープは LIFFアプリがユーザーに代わってメッセージを送信するために必要です。 - チャネルのステータスが「非公開」の場合、「非公開」ボタンをクリックしチャネルを公開します。
- HerokuのDashboardを開きます。
- 作成したアプリを開きます。
- Settingsタブで、 Reveal Config Varsをクリックします。
- KEYフィールドに
MY_LIFF_ID
を入力し、VALUEフィールドにLIFF IDを入力します。 - Addをクリックして入力した内容を保存します。
- エンドポイントURL(
https://{Herokuアプリ名}.herokuapp.com
)にWebブラウザーからアクセスし、アプリが正しく動作していることを確かめてください。正しく動作していれば、Open External WindowやClose LIFF Appなどのボタンが表示されます。
アプリを試す方法については、「アプリを試す」を参照してください。
HerokuのGUIやHeroku CLIを使って、アプリのログを確認することができます。
以下の手順に沿ってHerokuのダッシュボードからログを確認できます。
- Herokuのダッシュボードを開きます。
- 作成したアプリを開きます。
- 画面右上のMoreをクリックします。
- View logsをクリックします。
Application Logsの下にログが表示されます。
-
ターミナルからHerokuにログインします。
$ heroku login
-
ログを確認します。
$ heroku logs --app {Heroku app name} --tail
以下の手順に従うと、HerokuとNode.jsを使用してカスタマイズしたアプリをデプロイできます。
-
以下のものがインストールされていることを確認してください。
-
line-liff-v2-starterのGitHubリポジトリをクローンします。
git clone https://github.com/line/line-liff-v2-starter
-
line-liff-v2-starter
ディレクトリにcd
します。 -
Dependencyをインストールします。
$ npm install
-
ターミナルからHerokuにログインします。
$ heroku login
-
名前付きのHerokuアプリを作成します。
$ heroku create {Heroku app name}
-
HerokuアプリのURL(
https://{Herokuアプリ名}.herokuapp.com
)をメモしておいてください。 LIFFにアプリを追加する際に必要になります。 -
Herokuのリモートをローカルリポジトリに追加します。
$ heroku git:remote -a {Heroku app name}
- 「LIFFアプリをチャネルに追加する」の手順に従ってLIFFアプリをチャネルに追加してください。
- 次のステップで必要になるので、LIFF IDをメモしておいてください。 LIFF IDはコンソールに表示されるLIFF URLの最後の部分です:
https://liff.line.me/{liffId}
- Scopeオプションの編集ボタンをクリックします。
- すべて表示オプションをクリックして
chat_message.write
を有効にします。このスコープは LIFFアプリがユーザーに代わってメッセージを送信するために必要です。 - チャネルのステータスが「非公開」の場合、「非公開」ボタンをクリックしチャネルを公開します。
-
環境変数を使用してアプリにLIFF IDを渡します
heroku config:set MY_LIFF_ID={liffId}
-
ローカル環境でのテスト用に環境変数を
.env
ファイルにコピーします。Herokuでは、ローカル環境で環境変数を使用するために
.env
ファイルを設定することが推奨されています。$ heroku config:get MY_LIFF_ID -s >> .env
注:
.env
ファイルを GitHub にコミットしないようにしましょう。除外するには、.env
ファイルを.gitignore
に追加してください。 -
アプリをカスタマイズします。利用可能なLIFFメソッドの詳細については、APIリファレンスを参照してください。
-
ローカルでアプリを実行して、変更内容をプレビューします。
heroku local
localhost:5000にアクセスしてアプリの表示を確認できます。
-
変更内容に問題がなければ、ステージ、コミット、デプロイを行います。
$ git add . $ git commit -m "My first commit" $ git push heroku master
-
エンドポイントURL(
https://{Herokuアプリ名}.herokuapp.com
)にWebブラウザーからアクセスし、アプリが正しく動作していることを確かめてください。正しく動作していれば、Open External WindowやClose LIFF Appなどのボタンが表示されます。 -
最後に、チャネルのステータスが公開済みであることを確認してください。
アプリを試す方法について詳しくは、「アプリを試す」を参照してください。
HerokuのGUIやHeroku CLIを使って、アプリのログを確認することができます。 詳しくは「ログを確認する」を参照してください。
以下の手順に従うと、Heroku以外のサーバープラットフォームを使用してアプリをデプロイできます。
Item | Description |
---|---|
LINEログインチャネル | LINEログインが提供する機能をアプリで利用するための通信路。 チャネルは、LINE Developers コンソールで作成できます。 |
-
line-liff-v2-starterリポジトリをクローンします。
git clone https://github.com/line/line-liff-v2-starter
-
line-liff-v2-starter
ディレクトリにcd
します。
-
public/liff-starter.js
で変数useNodeJS
をfalse
に設定する。const useNodeJS = false;
-
レポジトリからHerokuとNode.js固有のファイル(
app.json
、index.js
、package.json
、Procfile
)を削除します。 -
ファイルをウェブサーバーにホストします。
-
「LIFFアプリをチャネルに追加する」の手順に従ってLIFFアプリをチャネルに追加してください。
-
次のステップで必要になるので、LIFF IDをメモしておいてください。 LIFF IDはコンソールに表示されるLIFF URLの最後の部分です:
https://liff.line.me/{liffId}
-
LIFF IDを
public/liff-starter.js
の変数defaultLiffId
に設定します。const defaultLiffId = "{liffId}";
チャットから簡単なリンクを作成することで、LINEでLIFFアプリを開くことができます。
- LINEのチャットを開き、LIFF URL(
https://liff.line.me/{liffId}
) をメッセージとして送信します。 例えば、LIFF IDが123456789
の場合、https://liff.line.me/123456789
というメッセージを送信します。 - ステップ1で送ったLIFF URLをタップします。
- LIFFアプリに必要な許可を与えることに同意します。
エンドポイントURLをWebブラウザに入力します。例:https://{Herokuアプリ名}.herokuapp.com
スターターアプリには以下のボタンがあります。
ℹ️ 一部のボタンは、LINEのアプリ内ブラウザか通常のブラウザでしか利用できません。詳しくはAPIリファレンスを参照してください。
ボタン | 説明 | LIFFブラウザ | 外部ブラウザ |
---|---|---|---|
Open External Window | LINEのアプリ内ブラウザでhttps://line.me を開く。 |
✅ | ✅ |
Close LIFF App | LIFF アプリを閉じます。 | ✅ | ❌ |
Send Message | チャット画面でLIFFアプリを開いている場合、ユーザーに代わってサンプルメッセージを送信します。Send Messageを使用するには、LINE Developersコンソールでchat_message.write を有効にする必要があります。詳しくは「liff.sendMessages()」を参照してください。 |
✅ | ❌ |
Get Access Token | 現在のユーザのアクセストークンを取得します。 | ✅ | ✅ |
Get Profile | 現在のユーザのプロフィールを取得します。 | ✅ | ✅ |
Open Share Target Picker | ターゲットピッカー(グループやフレンドを選択する画面)を表示し、選択したターゲットにサンプルメッセージを送信します。シェアターゲットピッカーを使用するには、LINE Developersコンソールでシェアターゲットピッカーを有効にする必要があります。詳しくは「シェアターゲットピッカーを利用するには」を参照してください。 | ✅ | ❌ |
Log In | WebアプリのLINEログインを実行します。ユーザーが認証・承認されると、LIFFアプリはアクセストークンやユーザープロファイルなどの情報を取得できるようになります。 | ❌ | ✅ |
Log Out | ユーザーをログアウトします。 | ❌ | ✅ |
ボタンに関連するAPIの呼び出しについては、「LIFF APIを呼び出す」を参照してください。