サーバー バックエンドに依存する私の iOS アプリでは、アプリがバックエンドへの接続に失敗した後、バックエンドが利用可能かどうかをユーザーに定期的に確認したいと考えています。
ほとんどの場合、これは必要ありませんが、サーバーに問題がある場合、私の iOS ショッピング アプリは先に進むことができず、現在、オフラインで利用できる情報がほとんどないビューと、「再試行」ボタンが表示されるだけです。サーバーは(できればすぐに)利用可能です。
より良い UX を提供し、ボタンを「ショップがオンラインに戻ったら通知する」にしたいと考えています。
アイデアは、ショップサーバーを定期的にチェックし、オンラインに戻ったらユーザーにローカル通知を送信することです.
ここで、バックグラウンド タスクに登録して、バックグラウンドでデータをダウンロードし、"新しいコンテンツ" についてユーザーに通知します。これには、ローカル通知が不要な場合もあります。
それは、値が「fetch」の UIBackgroundMode になります。しかし、それが良いアプローチであるかどうか、私は疑問を持っています。99.9% のケースでは決して発生せず、サーバーが利用できず、ユーザーが [通知] をタップした場合にのみ、そのバックグラウンド タスクが必要です。ただし、ドキュメントは次のように見えますが、このバックグラウンド フェッチは常にバックグラウンドで実行されます。そして、それは私が望むものではありません。
他のアプリはこの問題にどのように対処していますか? それは一般的なタスクですよね?