Q&A

LIFF v2 外部ブラウザを使わせない または、PC版LINEでのLIFF使用禁止

PC版LINEでLIFF v2を使う場合、外部ブラウザが立ち上がります。 表示自体は出来るのですが、その後の処理に問題が起こるので(LINEbotにsendMessage出来ない),

・LIFF v2 外部ブラウザを使えないようにする もしくは、 ・PC版LINEを使用している場合は、LIFF自体を使えないようにする

にして、代わりにスマフォ版へのQRコードを表示したいのですが、 何かよい方法はありませんでしょうか?

LIFF使用のタイミングでなくても、LINEBotのやりとり中に判定出来れば問題ないです。 HTTP_USER_AGENTで判定しようとしたら、PC版でもスマホ版でも[LineBotWebhook/1.0]となってしまって、 区別が付けられませんでした。。

どなたかご教授いただけると幸いです。 よろしくお願いいたします。

追記: よく、公式LINE等で見かける、PC版LINEで使っているときにリンクをクリックすると外部ブラウザが立ち上がらずにLINE画面自体でポップアップが表示されて、「スマートフォン版LINEでご利用になれます」とQRコードが表示されるような感じにしたいです。

  • 0
  • 4
  • 3410
  • twitter facebook

LINEミニアプリだったのですね! ありがとうございます。現状ではあのポップアップは表示出来ないとわかり、スッキリしました。 やはり外部ブラウザでQRコード表示。のような動きにするしかなさそうですね。 ありがとうございました。

  • 1

PC版LINEで使っているときにリンクをクリックすると外部ブラウザが立ち上がらずにLINE画面自体でポップアップが表示されて、「スマートフォン版LINEでご利用になれます」とQRコードが表示される

これは、ミニアプリと言われるもので。LIFFと同じようなものになります。ただし、ミニアプリを開発する際には審査が必要になりますので、個人開発であればLIFFを使うほうがいいかと思います。 https://developers.line.biz/ja/docs/line-mini-app/discover/introduction/ 例えば、liff.isInClient()を条件分岐に使用してPCであれば「こちらはスマホのLINEアプリから開いてお使いください」といった文言を書くといった感じで誘導するのがいいと思います

  • 0

回答ありがとうございます。 liff.isInClient()を使おうとすると、外部ブラウザが立ち上がった後の判定になってしまいますよね? 出来れば外部ブラウザ自体を立ち上げたくないんです。

よく、公式LINE等で見かける、外部ブラウザが立ち上がらずにLINE画面自体でポップアップが表示されて、「スマートフォン版LINEでご利用になれます」とQRコードが表示されるような感じにしたいのですが・・

もしかしてあれもLIFFなのでしょうか?? 質問が的を得ずに申し訳ありません。 よろしくお願いいたします。

  • 0

https://developers.line.biz/ja/reference/liff/#is-in-client liff.isInClient() を利用すると、外部ブラウザで実行中かLINE内ブラウザで実行中かの判断ができます。

  • 1
本当によろしいですか? question.vm