2016/07/11

Androidのアプリデータバックアップ事情

アプリを製作していると、たまにデータの引き継ぎの話になる。
iOSでは、ある程度はiTunesのバックアップでデータまで引き継ぎできるので、まーこれでいいか、となるが、Androidではどうなのか?

アプリデータバックアップに関しては
  1. バックアップアプリを使用する。
  2. Android Backup Serviceに対応するよう実装する。
  3. 独自にサーバとクライアントモジュールを実装する。
などがあげられる。
(公開アプリ前提なので、Root化が必要な方法は除外)


1に関しては、「Helium」が有名。
このアプリはPCと接続して使用する必要があり、PC側のHeliumアプリと連携してバックアップを取る。
簡単な方法だけど、PCと接続する際に接続モードの設定なんかをする必要があるので、ユーザにこれを行ってもらうのはちょっと酷。
キャリア推奨のバックアップはアプリデータまで保存できない場合が多い・・・


2は、Android 2.2からOS標準で実装されているバックアップ機構。
端末の「設定→バックアップとリセット」から、バックアップの設定が可能。
お、これいいじゃん、と思って設定した後に、対象アプリのデータ保存→アンインストール→再インストールと行ってみたら...

全然復元されない!

調べたらこれ、アプリ側が対応した実装が必要とのこと。


3に関しては工数が結構膨大。これができれば苦労がないわけで...


ということで、消去法で2を実装することを選択。
Android Backup Serviceに関しては、また別のエントリで。


※ちなみにAndroid 6.0からはAuto Backupを設定できる。
アプリごとのバックアップ領域が25MBのサイズ制限はあるが、アプリデータをクラウドにフル・バックアップできるという仕様。