メインコンテンツまでスキップ

logout()

logout()は、MonitorDog SDKのユーザーsessionを終了する関数です。

役割

logout()が呼び出されると、SDKは内部的に次の処理を順番に実行します。

logout activity eventを送信
-> SDK access tokenを削除
-> SDK session/auth状態を整理

パラメーター

logout()は別途パラメーターを受け取りません。

await detector.logout();

SDKはlogin()時点で保存したaccess tokenとユーザー状態を基準にlogout処理を実行します。

戻り値

logout()は値を返しません。

通常、顧客application codeでは、実行中のdetectorをstop()で先に停止した後、await detector.logout()を呼び出します。detector instanceをもう使用しない場合は、dispose()まで呼び出してresourceを完全に解放します。

dispose()との違い

logout()はユーザーsession終了を意味します。可能であればlogout activity eventを送信した後、SDK tokenとsession状態を整理します。

dispose()はdetector instanceが使用していたresourceを即時解放する関数です。ページ終了、React component unmount、detector instance破棄のように、SDKをもう使用しない時点で呼び出します。

ユーザーlogoutのようにsession終了の意味が必要な場合は、stop()後にlogout()を呼び出し、instanceまで破棄する必要があればfinallydispose()を呼び出す流れを推奨します。

try {
detector.stop();
await detector.logout();
} finally {
detector.dispose();
}

注意事項

  • logout()は、ユーザーが顧客Webサイトからログアウトした後に呼び出すことを推奨します。
  • logout()はcustomer session cookieや顧客backend sessionを直接削除しません。
  • detectorが実行中の場合、DETECTOR_RUNNINGエラーをthrowします。
  • 実行中のdetectorは先にstop()で停止してください。
  • logout()はMonitorDog SDK access tokenとsession状態を整理します。
  • logout()が失敗しても、detector resourceを破棄する必要がある画面終了の流れではfinallydispose()を呼び出すことを推奨します。
  • 同じdetector instanceで再度実行するには、login()後にstart()を再度呼び出してください。