ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

AndroidのChromeバージョンアップに伴うlocalStorage消失について

f:id:mbaasdevrel:20191217101356p:plain

AndroidのGoogle Chromeがバージョンアップした影響で、localStorageやWebSQLの内容がクリアされるという問題が出ています。一部のアプリにも影響が出る問題となっていますので、その概要をお伝えします。

1033655 - localstorage or websql unexpectedly cleared - chromium - An open-source project to help move the web forward. - Monorail

不具合の内容

Android用のGoogle Chrome 79(79.0.3945.79)より、localStorageとWebSQLの保存場所が変更されました。その結果、それまであったデータが移行されず、クリアした状態になってしまっています。

影響範囲

ニフクラ mobile backendにおける影響範囲は、Cordova/MonacaアプリにおけるAndroidの認証データです。Cordova/Monacaアプリでは認証データをlocalStorageを用いて保存しています。そのデータが消えている可能性があります。

再度認証してもらえれば問題ありません。認証データは元々最大でも168時間が有効期限となっています。そのため、再ログインは実装されているはずなので、影響範囲は大きくないと考えられます。

匿名認証の場合

匿名認証をメインに使っている場合、ユニークIDが分からないとログインできなくなります。

iOSについて

iOSは影響ありません。

WebSQLについて

WebSQLはWebブラウザ上で使えるデータベースになります。mBaaSでは特に利用していません。アプリによっては影響を受ける可能性があります。

対応方法

認証データがなくなりますので、未ログイン状態となります。再度ログインを行ってもらうことで解消します。

まとめ

アプリによってはlocalStorageの中にデータを蓄積したり、キャッシュしていることでしょう。ローカルのデータは絶対に問題ないということはありませんので、クラウドにバックアップしたり、同期するなどの事前対策が必要といえるでしょう。

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。