質問内容
音楽視聴用のFlutterアプリを現在開発しております。
中心となるAPIサーバー(Rails)と通信する形でWEB版App版を作ろうと思っています。
そこで、
Flutter WEB版で音楽を追加
↓
サーバーのデータベースが更新される
↓
同時にFlutter App版のローカルのデータベースが更新され
アプリに音楽が追加させる
ような動作をさせたいのですが、同期のとり方がいまいちよく分からいので質問しました。
自分が考えられる方法としては、
・アプリが起動している場合
WebSocketで追加情報を送信
・アプリが起動してない場合
Push通知を送信
↓
アプリの持つ情報が古ければ、
サーバーとの差分をダウンロード
↓
端末が最新に更新
・自動更新に失敗した場合(定期更新)
更新ボタンを押す・定期更新
↓
サーバーと通信
↓
もし、アプリの持つ情報が古ければ、
サーバーとの差分を送信
↓
端末が最新に更新
という方法が考えられると思ったのですが、
このような考え方で合っているのでしょうか?
また差分を送信の部分は、"リソース名/update"みたいなエンドポイントを作って、
Flutterが最後に通信した日付から手前の日付のデータを纏めてサーバーが返送する形を考えているのですが、そのような設計で良いのか?
このような設計で一般的な方法であるか知りたいです。
あなたの回答
tips
プレビュー