問題タブ [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.
swift - Swift Darwin 通知とバックグラウンド フェッチ
バックグラウンド フェッチ、リモート通知、プッシュ通知 (およびアプリ グループ) を使用するように設定されたアプリがあります。
プッシュ通知を受信すると、アプリがバックグラウンドから起動してコードを実行するようにアプリを動作させています。
あるアプリから別のアプリに Darwin 通知を送信した場合 (両方ともアプリ グループに含まれています)、リモート通知の場合のように OS によって一時停止された場合、アプリは有効になります。これに関する情報が見つかりません。
ios - PubNub はプレゼンス タイムアウトを防止します
iOS アプリでバックグラウンド フェッチを有効にして、プレゼンス タイムアウトを防ぐために PubNub に時間を与えることを検討しています。
編集- いくつかの背景: 私たちのアプリは、パブナブ チャネルを介してそのジオロケーションをサービスに伝えています。バックグラウンドで位置情報を許可するようにユーザーに要求し、それが許可されると、OS からすでに時折時間を取得しています。プレゼンス機能を使用して、アプリが接続を終了/ドロップしたのか、移動を停止したのかをサービスが認識できるようにしています。ただし、デバイスがバックグラウンドで移動を停止すると、到着した場所から実行時間が得られないため、いずれにせよ pubnub タイムアウトが発生します。
そのバックグラウンド状態を有効にした後、必要があるようです
setMinimumBackgroundFetchInterval
タイムアウトしたくない接続がある場合は、インターバルを指定して呼び出します(タイムアウトNever
しない場合も)。- 実装する
application:performFetchWithCompletionHandler:
ただし、いくつかのことは明らかではありません。
pubnub のタイムアウトに関連して、どのフェッチ間隔を選択する必要がありますか? 指定されたフェッチ間隔は、OS によって必ずしも守られていないようです。一般に、タイムアウトを短くしたかったので、アプリがオフラインになったり強制終了したりしたときに、もう一方の端がそれをすぐに検出します。これは、ハートビートと矛盾しているように見え、不注意によるタイムアウトが発生しないようにします。間隔だけを使用することを検討してい
Minimum
ます。プレゼンス ハートビートが確実に送信されるようにするために、メソッドで何もする必要はないと思います
performFetchWithCompletionHandler
。むしろ、アプリが起動されるという事実だけで、PubNub のタイマーが起動し、すべての処理が行われます。newData
ただし、ハートビート トランザクションの後でのみ完了ブロックを呼び出すことや、いつvs.noData
vs.を返すかを知ることはできますかfailed
。また、毎回すぐに完了を呼び出すだけでnoData
、フェッチ間隔を元に戻す手がかりとして OS に取られるのではないかと心配しています。
または、タイムアウトを防ぐためにこのアプローチに代わる方法を誰かが推奨できる場合は、それをいただければ幸いです。