Swift part13 (412レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
189: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 16:16:07.99 ID:DAmLcD300(1/4) AAS
バックグラウンドに移行してある程度長い時間が
経過した後にフォアグラウンド復帰したら
アプリの最初の画面に自動で戻されてしまいます
これはどのアプリでもそういう仕様になってると
思うんですがひとつ問題がありまして
チャットアプリを作ってるのですが
OSによって強制的に部屋のビューから
最初のビューに戻されたことになるので
退室処理が正しく行われないです
なので他のユーザーから見ると
既にいないユーザーがまだ部屋にいるかのように
見えてしまいます
OSによる強制退室が発生する直前に
アプリ側で正しい退室処理をしたいのですが
OSの強制イベントを検知して
アプリで終了処理をバックグラウンドで
走らせることは可能でしょうか?
可能ならメソッドやdelegate等の
キーワードだけでも教えてもらえると嬉しいです
192: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 17:53:56.91 ID:DAmLcD300(2/4) AAS
フォアグラウンドとバックグラウンドの
移行タイミングのdelegateは認識しているのですが
何が問題かと言いますと
?バックグラウンドに行く時に退室処理はしたくない
→例えばブラウザを見に行ったり、別のアプリを一瞬見に行くたびに退室処理されると不便
?バックグラウンドに行ったっきりになる可能がある
→10日間くらいバックグラウンドにしたままになる
可能性に対して、実質はOSの処理によって
フォアグラウンドに戻っても部屋に
戻れる可能性がないのに退室処理がされないままになる
これは他のユーザーからの見え方としてまずい
つまりバックグラウンドに何分いると
セッションが切れるのかが分かりませんが
そのタイミングで退室処理を行いたいということです
それ以外のタイミングで退室処理はしたくない
というのが理想です…
バックグラウンドに入ったとか
フォアグラウンドに戻ってきたとかの
イベントを拾っても↑は実現できないので
困っていたという感じです
分かりにくくてすみません…
193: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 17:58:45.95 ID:DAmLcD300(3/4) AAS
>>191なるほど
例えばバックグラウンドに入ったら
ハローパケットの送信を停止して
ハローパケットが5分間届かなかったら
退室処理が行われる
って処理を実装する的な感じですかね
なんか行けそうな気もしますが
OSの強制巻き戻しが発生するタイミング以外では
なるべく部屋に残留させたいので
強制ビュー巻き戻しのタイミングは
知りたいところではありますが
それが分からなければ最悪その方法で
実装してみます!
ありがとうございます
195: デフォルトの名無しさん (ワッチョイ 4592-6dX5) [] 2022/01/07(金) 18:25:48.71 ID:DAmLcD300(4/4) AAS
>>194機内モードとかにして通信が切れた時は
アプリで検知できるので仮退室モードにしていて
メッセージ送信ボタンを押せなくしてます
急にタスクキルしてアプリ終了したときは
cloudFunctionのonDisconnectが働いて
退室処理がされるようになってます
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s