設定値配信での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については再送を行いません