概要
-
以下のページを見ながら、LIFFアプリを構築してみました。
はまった点と解決方法
メニューをタップすると、予約フォームの画面が、画面いっぱいに表示されており、メッセージ送信しようとすると
Error: Need consent on shareTargetPicker usage on LINE developer site
というエラーが出ました。しかしshareTargetPicker
はオンにしてあります-
リッチメニューのリンク先URLを、エンドポイント(ファイルを公開したURL)ではなく、
LIFF URL
( https://liff.line.me/12345 など、liff.line.me
のURL)に変更すると、想定通りの動作になりました。- 公式ドキュメントの LINE Front-end Framework > LIFFアプリを開く を参照
LIFFアプリを構築する流れ
LINE公式アカウント作成
-
公式サイトを参照
- メルアド、名前、パスワードを入力
- アカウント名、メルアド、業種を入力して、LINE公式アカウントを作成。
- 「ベーシックID」が付与された
- 「アカウント認証」は後回し
プロフィール情報の設定
- 管理画面の上部メニューの「プロフィール」をクリック
- 「プロフィールページ設定」が開くので、真ん中あたりの「プロフィール情報は LINE Official Account Manager から編集できます」をクリック
管理画面にPCからログイン
- https://www.linebiz.com/jp/login/ に、「ビジネスアカウントでログイン」をクリックし、メアドとパスワードでログイン
- アカウント一覧からアカウントを選択
- 「ホーム」ー「トークルーム管理」ー「リッチメニュー」をクリック
- 「作成」をクリック
- 以下で作成
チャネルの作成
- 公式ページを見ながら作成
- LINE Developers で、名前とメルアドを指定してユーザ登録
- ログイン
- 「Create a new provider」で、プロバイダ名を指定して作成
- 上記で作成したプロバイダを選択し、「Create a LINE Login Channel」
- Channel type, Privider, Region(Japan)はそのまま
- Channel iconは無し
-
Channel name
,Channel description
,App types
(WebAppを指定。Mobile Appは指定しない)を入力 - Email Addressはそのまま、Privacy policy URLとTerms of use URLは無し、利用規約に同意するチェックを入れる
GitHub Pagesにファイルを置いて公開
-
GitHub Pages を使った静的サイトの公開方法が、とても簡単になっていた
を参考に進める
- GitHubにリポジトリを作って、ファイルを置く
- リポジトリのページにある「settings」を開き、左メニューの「Pages」を開く
- Source欄で、ブランチ名と、公開したいディレクトリを指定
- Saveを押すと、数分で公開される
LIFFアプリをチャネルに追加
- 公式ページ を見ながら行う
- LINE Developersコンソール を開く
- 一覧からプロバイダ、チャネルを開く
- LIFFタブを開く
-
Addをクリックして、以下の情報で追加する
- LIFF app name
- Size(Full/Tall/Compact)・・・Compact
- Endpoint URL・・・上記のGitHub Pages(index.htmlがあるURL)
- Scopes(profile/openid)(chat_message.write)・・・全てチェック
- Bot link feature(On (Normal)/On (Aggressive)/Off)・・・On(Normal)
- Options – Scan QR ・・・チェックしない
LIFF ID
とLIFF URL
が表示されるので、メモしておく
アプリにLIFF IDを設定
- GitHubで公開したページでLIFF IDを使っていたら、上記で取得したIDに書き換え
リッチメニューのリンクを、LIFF URLに変更
- LINE Offical Account Manager を開く
- 「ホーム」ー「トークルーム管理」ー「リッチメニュー」をクリック
- 上述で作成したタイトルをクリックし、右上の「編集」
- アクションのリンクを、上記のLIFF URLに変更して、保存
- ここで間違って(GitHubで)公開したページのURLを入れてしまうと、最初に書いたように、クリック時に通常のWEBページとして開かれてしまい、メッセージ送信でエラーが出ます。
LIFFアプリを公開
- LINE Developersコンソール を開く
- 一覧からプロバイダ、チャネルを開く
- チャネル名の右下に「Developing」と表示されているので、クリック
- Publishをクリック
-
- これを忘れると、後述の動作確認でメニューをタップした時に、「エラー 正常に処理できませんでした。」と表示される
動作確認
- 自分のLINEアカウントに、「友達検索」で、ID(@つき)で検索して、友達追加
- トークを開く
- 下部にメニューが出るので、タップ。
- 認証画面で、チャネル名やプロバイダ名が表示され、「サービス提供者が次の許可をリクエストしています。」と表示されるので、「許可する」をタップする。
shareTargetPickerのエラーが出る場合は、設定変更が必要
-
Failed to send message Error: Need consent on shareTargetPicker usage on LINE developer site
というエラーが出た。- メッセージ送信時に出た
-
liff.shareTargetPicker()
でエラーになっている。
-
- メッセージ送信時に出た
- LINEアプリから開いているのに、別ウインドウでページが開かれているように見える(左上にバツボタンがある)
- チャネルの設定では、sizeを
Compact
にしているが、反映されていないようにみえる。
- チャネルの設定では、sizeを
- ドキュメント を参照
-
以下でshareTargetPickerをオンにする
感想
- やり方をなぞっただけですが、意外と素直に表示までできて嬉しかったです。