リモート JSON Web サービス API のクライアントである Android アプリを開発しています (サーバーを構築したので、最大限の柔軟性が得られます)。
ローカル SQLite データベースとリモート API の同期を維持するための (バッテリ寿命、帯域幅、待機時間の観点から) 良い戦略は何かを判断しようとしています。
私が現在考えているのは、サーバーがGCMを介してAndroidアプリにアクション(フェッチする必要がある新しいデータまたは更新する必要がある古いデータ)について通知することです。また、ユーザーは手動で同期します。
このアプローチの短所は、GCM メッセージが「失われた」場合、更新や新しいデータを知る方法がないことです。
ユーザーが何かを表示するように要求するたびに、タイムスタンプを追加して新しいデータを確認できますが、SQLite データベースに既に存在する古いデータをいつ更新する必要があるかを判断する方法は解決しません。
この同期戦略を改善するための提案や、検討すべき他のアプローチはありますか?