web-dev-qa-db-ja.com

アプリケーションが機能するために必要な条件が満たされていない場合の処理​​方法

ロケーションベースのアプリを作成しました。その中心的な機能はロケーションです。これはマップタイプのアプリケーションではなく、インターネットにも依存しています。

現在、ユーザーがオフラインになったとき、または位置情報サービスを失ったときの私の現在の対処方法は、ウィンドウポップアップが表示され、ユーザーがインターネットに再接続するか、位置情報サービスを再び利用できるようになるまでユーザーが続行できないようにすることです。

これは適切なUXですか?私の問題は、私のアプリがこれらの2つのコアサービスなしではまったく機能しない機能しないであるため、これらの機能がない場合にユーザーがアプリをポークすると、アプリがクラッシュしたり、期待どおりに動作しなかったりすることがあります。これは、ユーザーが単にそれを削除することにつながる場合があります。

だから私の質問は本当に、このような状況を処理するための最良の方法は何ですか?代わりに、ユーザーに続行を許可するアラートを表示しますか、それともユーザーが続行できないようにしますか?ユーザーはこのようなことで何を期待していますか?

1
Milo

クラッシュ/奇妙な行動の可能性についてのあなたの本能は非常にお金にあります。コアサービスなしで続行すると、ソフトウェアが奇妙な状態になり、これからバグが発生するか、コードが複雑になりすぎてすべての奇妙な状態を処理するためにバグが発生します。

複雑にしないでおく。サービスなしで何かがうまくいかない場合、それ以外のふりをするのはなぜですか?問題を説明するメッセージを表示して無効にしてください。

アプリがバックグラウンドで試行/自動再接続を継続することを確認してください(おそらくすでにそのことを考えていましたが)。ユーザーが問題を修正してもすぐに元に戻らない場合(たとえば、位置情報サービスをオンにするなど)、あきらめるだけかもしれません。

1
Franchesca

実装コスト(すべての例外を処理する)とマーケティング(機能を自慢してユーザーに興味を持たせる)の間にはトレードオフがあります。私は努力がどうなるか、そして何が得られるかはわかりません。

つまり、昨日、どこかに推奨されたアプリをインストールしました。そのためにはFacebookアカウントが必要です(推奨事項では説明されていません)。昨年facebookを閉じてアプリが最初の画面を表示したばかりだったので、すぐにアンインストールしました。もっとプレビューがあったと思いますが、私は知っている偽のFacebookアカウントを作成した可能性がありますか?

0
virtualnobi