0

ある種のオンライン/オフライン インジケーターを表示する必要があるモバイル Web アプリに取り組んでいます。このアプリは、ローカルの変更を WebSQL データベースに保存する際に定期的に同期する REST API によって支えられています。サーバーの変更は 10 分ごとに取得しますが、ローカルの変更はすぐに取得します。ただし、変更がローカルに保存されているため、失敗してPOSTも大したことではありません。POST

問題は、この場合、オンライン ステータス インジケーターがどの程度役立つかということです。これを機能させるには、1 分ごとに ping できるステータス メソッドを API に追加する必要があります (未定)。これにより、モバイル データの消費が増え、サーバーに負荷がかかります。さらに、REST API に ping を実行したときにアクティブであり、30 秒後に同期を試みたときにダウンした場合 (「オンライン」であると考えているため) online = true、REST API が実際に呼び出している間、ユーザーは UI で見ることができます。失敗した。

わざわざステータス インジケーターを表示する必要はないと思います。通話が失敗した場合、ほとんどの場合、ユーザーは心配する必要はありません。さらに重要なことは、最後に成功した同期が X 分前に行われたということです。 .

4

2 に答える 2

0

まあ、この機能を追加する必要があるという前提から始めて、この機能を持つことは、その機能を持つためにかなり便利だと思います。しかし、あなたは本当にそのような機能のメリットを疑問視していると思います.

個人的には、かなり無駄だと思います。おっしゃるとおり、ping を実行できたからといって、更新をプッシュ/プルできるわけではありません。最後に押したり引いたりしてからの経過時間を簡単に表示するだけでよいでしょう。

明確にするために、表示する必要があるため、最後にデータを送信したときと最後にデータをプルしたときの両方が明らかです。これにより、ユーザーは自分のデバイスだけに保存​​されているデータの量を知ることができ、自分の情報がどれだけ古いかを知ることができます.

ただし、ここで考慮すべきことの 1 つは、ユーザーが最後に同期してから長い時間が経過していることを知っている場合、オンデマンドで同期できるようにしたいと考えるようになり、負荷が増加する可能性があることです。ユーザーを暗闇の中に置いておく方がよいかもしれません。システムが機能することを彼らにただ信じさせてください。

于 2015-08-12T08:24:17.007 に答える
0

おそらく、オンライン/オフライン インジケーターよりも価値があるのは、最後に同期がいつ成功したかを示すラベルのようなものでしょう。たとえば、「Last synced _ minutes ago.」のほか、同期できなかった場合に何らかのエラー ステータスを表示する方法もあります。

于 2013-09-04T22:58:55.680 に答える