問題タブ [background-fetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
216 参照

swift - Swift Darwin 通知とバックグラウンド フェッチ

バックグラウンド フェッチ、リモート通知、プッシュ通知 (およびアプリ グループ) を使用するように設定されたアプリがあります。

プッシュ通知を受信すると、アプリがバックグラウンドから起動してコードを実行するようにアプリを動作させています。

あるアプリから別のアプリに Darwin 通知を送信した場合 (両方ともアプリ グループに含まれています)、リモート通知の場合のように OS によって一時停止された場合、アプリは有効になります。これに関する情報が見つかりません。

0 投票する
1 に答える
978 参照

ios - PubNub はプレゼンス タイムアウトを防止します

iOS アプリでバックグラウンド フェッチを有効にして、プレゼンス タイムアウトを防ぐために PubNub に時間を与えることを検討しています。

編集- いくつかの背景: 私たちのアプリは、パブナブ チャネルを介してそのジオロケーションをサービスに伝えています。バックグラウンドで位置情報を許可するようにユーザーに要求し、それが許可されると、OS からすでに時折時間を取得しています。プレゼンス機能を使用して、アプリが接続を終了/ドロップしたのか、移動を停止したのかをサービスが認識できるようにしています。ただし、デバイスがバックグラウンドで移動を停止すると、到着した場所から実行時間が得られないため、いずれにせよ pubnub タイムアウトが発生します。

そのバックグラウンド状態を有効にした後、必要があるようです

  • setMinimumBackgroundFetchIntervalタイムアウトしたくない接続がある場合は、インターバルを指定して呼び出します(タイムアウトNeverしない場合も)。
  • 実装するapplication:performFetchWithCompletionHandler:

ただし、いくつかのことは明らかではありません。

  1. pubnub のタイムアウトに関連して、どのフェッチ間隔を選択する必要がありますか? 指定されたフェッチ間隔は、OS によって必ずしも守られていないようです。一般に、タイムアウトを短くしたかったので、アプリがオフラインになったり強制終了したりしたときに、もう一方の端がそれをすぐに検出します。これは、ハートビートと矛盾しているように見え、不注意によるタイムアウトが発生しないようにします。間隔だけを使用することを検討していMinimumます。

  2. プレゼンス ハートビートが確実に送信されるようにするために、メソッドで何もする必要はないと思いますperformFetchWithCompletionHandler。むしろ、アプリが起動されるという事実だけで、PubNub のタイマーが起動し、すべての処理が行われます。newDataただし、ハートビート トランザクションの後でのみ完了ブロックを呼び出すことや、いつvs. noDatavs.を返すかを知ることはできますかfailed。また、毎回すぐに完了を呼び出すだけでnoData、フェッチ間隔を元に戻す手がかりとして OS に取られるのではないかと心配しています。

または、タイムアウトを防ぐためにこのアプローチに代わる方法を誰かが推奨できる場合は、それをいただければ幸いです。