アクティブユーザー数が3万を超えた「シンプル体重管理」ですが、ユーザー数が増えると共にトラブルも増え、アプリの低評価も目立つようになってきました。

その原因の一つが、localStorageが消えてしまう問題です。
アプリの設定データをlocalStorageに保存していますが、何らかの理由で消えてしまうと、設定データが初期化されてしまいます。
昨年12月にも「「Google Chrome」「AndroidシステムのWebView」のアップデートで大変なことになりました」で大きな問題になりました。

そこでアプリ起動時にSQLiteからアプリの設定データを読み込もうとしましたが、データベースをオープンする前にSQL文を実行してエラーとなってしまいました。
※cordova-sqlite-storageプラグインを使用します。


cordova-sqlite-storageプラグインのサンプルコードは以下のようになっています。

しかし、これではデータベースのオープンが成功したか失敗したかわかりません。

cordova-sqlite-storageプラグインのコードを調べた結果、コールバックを指定することができるようです。

もしかすると、現状のアプリは偶然タイミングよく動いていた可能性があります。
今となっては気持ち悪いので、すべてのアプリを上記の方法に変更しようと思います。

【Cordova】cordova-sqlite-storageプラグインでデータベースのオープンを通知する
Tagged on: