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まで破棄する必要があればfinallyでdispose()を呼び出す流れを推奨します。
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を破棄する必要がある画面終了の流れではfinallyでdispose()を呼び出すことを推奨します。- 同じdetector instanceで再度実行するには、
login()後にstart()を再度呼び出してください。