設定値配信でのFetchCompletionの利用
FetchCompletionの発生タイミングと各種の挙動
- fetch()の完了をハンドルするFetchCompletion( iOS, Android )は、タイムアウトが発生した場合には以下のようなタイミングで呼び出されます。
- 呼び出された際のcallback変数で、送信の成否が判定可能です。
- 通信成功時では、キャッシュが一度削除された後に参照された値でキャッシュが更新されます。配信対象の接客サービスが存在しなかった場合等については留意してください。
FetchCompletionの発生タイミング | callbackの引数として渡される値 | キャッシュ更新 | |
---|---|---|---|
正常時(ステータスコード200) | レスポンスの返却時 | true | される |
非正常時(※incident等でサーバーが正常なレスポンスを返せない場合等) | レスポンスの返却時 | false | されない |
タイムアウト時 | OS毎のタイムアウト判定時 | false | されない |
接続がない場合 | 即時 | false | されない |
OS毎のタイムアウト判定の挙動
- iOS, Androidの双方で、イベント送信には10秒のタイムアウトが設定されています
- Androidの場合は接続と通信それぞれのタイムアウトが存在し、それぞれに10秒のタイムアウトが設定されるため、最大20秒待機する場合があります
- iOS, Androidの双方で接続が無い場合には即時でfetch()が失敗し、そのタイミングでFetchCompletionが発生します
timeout判定後のイベント再送
- 通常SDKはタイムアウトが判定された際にイベントの再送を行いますが、fetch()で送信される
_fetch_variables
については再送を行いません
Updated 4 months ago