1 人のユーザーが複数のデバイスを使用してオフラインまたはオンラインでデータを生成する場合、データをマージして競合をできるだけ回避するにはどうすればよいですか?
オフライン容量のあるいくつかのステージでゲームを作ったように。ユーザーのマイクは、iPad のオフライン ステータスでスコア 123 でステージ 2 に到達しましたが、iPhone に移動すると、まだステージ 1 にいることがわかりました。そのため、ステージ 1 をもう一度プレイし、スコア 321 でステージ 2 に到達しました。彼の両方のデバイスがインターネットに接続されているため、これら 2 つのデバイスを 1 つのステータスに同期させたいと考えています。私たちはするかもしれません:
- ユーザーが 2 つのデバイスで同期ボタンをクリックすると、アプリケーションが停止する
- すべてのデバイスがすべてのユーザー データ (スコア、ステージなど) をプッシュします。
- サーバーはユーザーデータを最終変更時刻とマージします
- すべてのデバイスがマージされたデータを取得します
- アプリケーションは最初のページに戻り、矛盾を避けるために再開します
このソリューションは、アプリケーション自体に依存しています。ユーザー データの同期をアプリケーションに対して透過的にするソリューションはありますか?