スマホサイトのWebviewを使用して簡単なゲームコンテンツを作成しているのですが、
ユーザー情報(スコアなど)をローカルストレージに保存をしておりました。
iOS、Android4.4以降は問題なく保存ができ、
2回目以降も過去の値を取り出したりできていたのですが、
Android4.0、4.1の標準ブラウザ、及びアプリ上のWebviewにおいては、
アプリを終了してしまうとローカルストレージの値がすべて消えてしまいました。
値の保存方法としては、WebサイトのフレームワークにAngular.jsを使用しておりましたので、
ngStorage
を使用して値を保存しております。
回避方法として、$cookie
を使用して、localstorageに保存した内容をcookieの方にも保持しておき、
ブラウザ起動時にlocalstorageにcookieから値をコピーするという方法も試してみたのですが、
Cookieの方も値が保存されたり、保存されなかったり動作が不安定な状態でした。
今回の不具合について色々調べていたところ、andoroid4.0系は、ローカルストレージのデータは
RAMに保存されるため、アプリを落とすと消えてしまうという記事を見ました。
参考サイト:Webviewのlocalstorage
また、CookieについてもAndroid4系はCookie保存にかなりタイムラグが発生するということでした。
参考サイト:Android WebViewの cookieではまった。
考えられる回避方法は大体試してみたと思うのですが、
何かこれらの状況を打破できるような方法は無いでしょうか?
検証を行った機種は下記になります。
HTC J (Android4.0.2)
どうか、お知恵をお貸しください。
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/07 14:46