まとめ
OS | 動作 |
---|---|
iOS 11.3 | - ブラウザとPWAでCookieが共有されない - PWAを再起動すると起動時に毎回初期化される |
iOS 12.2 | - ブラウザとPWAでCookieが共有されない - PWAを再起動してもCookieは保持される - PWAをタスクキルしてもCookieは保持される - 端末を再起動するとPWAのCookieは初期化される |
Android 8.0 | - ブラウザとPWAでCookieが共有される - PWAを再起動してもCookieは保持される |
【更新履歴】
- 2019/05/11 : まとめ に iOS12.2 のiPhoneで確認した動きを追記しました。
【追記】調査用アプリ
調査で利用したWEBアプリは今後もiOS, Androidバージョンアップ時に利用する可能性がありそうなためHerokuで公開しておきました。(無料プランのためしばらくアクセスがなかった場合はページが表示されるまで少し時間がかかります)
https://pwa-cookie-test-app.herokuapp.com/
調査内容
WEBアプリをPWA(プログレッシブウェブアプリ)として起動した場合にブラウザのCookieが引き継がれるか確認する。
調査対象
- iOS 11.3
- Android 8.0
確認方法
loginリンクをクリックするとCookieにuser_id
として1
を格納するアプリを作成。
事前にブラウザでloginしておき、PWAとして起動した場合に、
- 「ログイン済み」と表示されたら、Cookieが引き継がれている
- 「ログイン前」と表示されたら、Cookieが引き継がれない
と判断する。
補足:調査用アプリはRailsで作成した。
RailsではCookieを利用してデータを保存する方法が2つ(sessionとcookie)存在するため、調査用アプリでも2つの方法でuser_id
を保存している
確認内容
詳細:iOS 11.3
- ブラウザのCookieはPWA起動時には引き継がれない
- PWAを再起動(HomeScreenから再度開く)した場合、前回PWA起動時のCookieは引き継がれない
詳細:Android 8.0
- ブラウザのCookieはPWA起動時に引き継がれる
- PWAを再起動(HomeScreenから再度開く)した場合、前回PWA起動時のCookieは引き継がれる
- PWAのCookieもブラウザに引き継がれる