こんにちは。お久しぶりです。
今回は以下の問題について解説していこうと思います。
- 外部ブラウザにおいてLINEログイン(自動ログイン)に失敗する
- 外部ブラウザにおいてLIFFのURLスキーム
https://liff.line.me/{LIFFID}
にアクセスした際に、LINEアプリ内のブラウザではなく、外部ブラウザでエンドポイントURLに遷移してしまう - これらの問題の原因について
- 備考
今回取り上げるこれらの問題は主にiOS版LINEを利用しているユーザーで発生する場合があるようです
自動ログインの問題について
LINEログインの開発者の皆様はエンドユーザーなどからの不具合の報告などで、以下のような一度は目にしたことがあるのではないでしょうか。
-
LINEアプリが未インストール、もしくは、ユニバーサルリンクが正しく動作していません。メールアドレス・パスワードを入力してログインしてください。
や、類似のエラーメッセージが表示され、LINEログインできない - 「LINEアプリでログイン」ボタンを押しても、画面リロードが発生するのみでログインができない
- その際に以下のようなエラー画面が表示される
この問題について、「LINE」アプリをインストールしており、正常に利用できる端末においては、エラーメッセージにも記載のとおり「LINEアプリでログイン」ボタンを長押しし、「"LINE"で開く」を押してログインページを開き直すことで、それ以降は外部ブラウザで自動ログインが動作し、また「LINEアプリでログイン」ボタンを押すことでも自動ログインが動作するようになります。
LIFFでの問題について
外部ブラウザにおいてLIFF(https://liff.line.me/{LIFFID}) からLIFFアプリにアクセスした場合、通常であれば
LIFFブラウザと呼ばれるLINEアプリ内のブラウザでLIFFアプリのエンドポイントURLが開かれます。
しかしながら、何らかの不具合などにより、LIFFアプリがLIFFブラウザで開かず、外部ブラウザでそのまま開かれてしまう場合があるようです。
この問題について、上記LINEログインと同様に、「LIFFのURLスキーム」を「"LINE"で開く」ボタンの押下で開くことで、以降は外部ブラウザでLIFFのURLスキームをタップした際にLIFFブラウザに正常に遷移する動作となります。
※LIFFのURLをiOSの「メモ帳」などに貼り付けると簡単に再現できます。
※https://liff.line.me/1656508316-k7jNojXm はLINE社が提供するLIFFプレイグラウンドのURLです。
これらの問題の原因について
はっきりとしたことはわかりませんが、これらの2問題に共通することとして、iOSの機能であるユニバーサルリンクを利用しているという点があります。現状、ユニバーサルリンクに関連する何らかの不具合の可能性を推察しています。
上記「"LINE"で開く」操作により、iOSとLINEアプリのユニバーサルリンク設定が再度行われ、正常に動作するようになるのではないかと考えています。
- 自動ログイン
また、外部ブラウザにおける自動ログインの動作は、iOSのUniversal LinkやAndroidのアプリリンク の機能を利用しています。そのため、この機能が動作する際に表示されることがあるダイアログ、この機能を利用するためのOS側での条件、利用しないための設定方法など、詳細については各OSの仕様を確認してください。
https://developers.line.biz/ja/faq/#how-does-auto-login-work
- LIFF
ユーザーがLIFF URLにアクセスすると、外部ブラウザまたはLINE上でLIFFブラウザが開きます。どちらの環境で開くかは、iOSの場合はユニバーサルリンク、Androidの場合はApp Links の仕様に従います。
https://developers.line.biz/ja/docs/liff/opening-liff-app/
備考
本問題に関連して、個人的なLINEアプリにおけるユニバーサルリンクの経験メモを記載します。
- これらの問題はiOSのアップデートやLINEのバージョンアップ、Safariブラウザのキャッシュのクリアなどでも解消する場合がありました
- この問題はAndroid環境では発生しないようです
- iOSのユニバーサルリンクはユーザーのリンクタップの操作に反応して動作するようです
- iOSのユニバーサルリンクはサーバーサイドのリダイレクトやjavascriptによるリダイレクト、ブラウザのアドレスバーに直接URLを入力して遷移した場合などでは動作しないようです
- iOSだとSafari以外の外部ブラウザ(ChromeやFireFoxなど)では、少なくともLINEアプリのユニバーサルリンクは正常に動作しない場合があるようです