計算の数を減らし、モバイルデバイスの寿命を延ばします。 ユーザーがビデオを再生しているページ、音楽を再生しているページ、3Dグラフィックスを備えたアプリケーションを実行しているページがあるとしますが、現時点では
彼女を見ていません 別のアプリケーションを使用したり、ブラウザで別のタブを閲覧したり、電話での会話などに気を取られたりした場合、開発者の義務は、ユーザーのモバイルデバイスのUXを改善したり、寿命を延ばしたりすることです。
ユーザーの状態を決定します
固体、液体、気体- オンライン(オンライン);
- オフライン(オフライン);
- アウェイ(アウェイ)。
3つの状態はすべて、マルチプレイヤーアプリケーション、チャット、フォーラムなどでユーザーステータスを表示し、内部(計算、データ交換)および外部(UI、グラフィックス)アプリケーションプロセスを整理/最適化するために使用できます。
以下のコード例はcoffeescriptで記述され、Meteorアプリケーションのフレームワーク内で動作するように設計されていますが、それでもJavaScriptのままであり、他の環境で使用できます。
ユーザーが現在アクティブであることを示すイベントを検討します。
追伸 アンダースコアに統合された
throttle
関数は、
goActive
の呼び出し回数を
goActive
ます;関数は1回につき1回しか呼び出されません
幸せな 777ミリ秒。
Webアプリケーションタブがアクティブかどうかを確認します。
ユーザーがログインしていてアクティブではないときにタブ/ウィンドウが開いてアクティブになっている場合-1分後に、ステータスを非アクティブに変更します。
goInactive
関数はユーザーを「退席中」状態に設定することに注意してください。
ステータスを「オフライン」にするには、ユーザーはアプリケーションを終了(ログアウト)するか、DDP接続を閉じる/切断する必要があります。
以下のコードはMeteor専用です。
DDP接続を切断して、ステータスを「オフライン」に設定します。
ユーザーがログインしたら、上記で使用した
connectionId
保存する必要があります。
クロスブラウザサポートを備えたより完全なコードは、
こちらにあります。
ユーザーにとって便利
多くのWebアプリケーションでは、すぐにユーザーの注意が必要です。 条件「離れている」(離れている)で私は提案します:
- CSSアニメーションを無効にします。
- 3Dアニメーションを無効にします。
- サーバーへのアクセス頻度を減らします(リアルタイムアプリケーションの場合)。
- ビデオ/オーディオの再生を一時停止します。
- 通知音を再生するか、大声で再生します。
- シングルプレイヤーモードでゲームを一時停止します。
簡単に言えば、開発者はユーザーと彼の個人的なデバイスの世話をし、UX(使用の質)を改善し、計算の回数を減らし、特にバッテリー電源を使用する場合にデバイスの寿命を延ばす必要があります。