투케이2K

49. (TWOK/ERROR) [Android] 웹뷰 (webview) 내에서 페이지 이동 간 쿠키가 공유 되지 않는 이슈 본문

투케이2K 에러관리

49. (TWOK/ERROR) [Android] 웹뷰 (webview) 내에서 페이지 이동 간 쿠키가 공유 되지 않는 이슈

투케이2K 2022. 4. 11. 08:11

[환경 설정 및 설명]

프로그램 : AndroidStudio

설 명 : 웹뷰 (webview) 내에서 페이지 이동 간 쿠키가 공유 되지 않는 이슈

 

[에러 원인]

1. 웹뷰 (webview) 로드 시 extraHeaders.put(keyData, valueData); 헤더 필드 쪽에서 쿠키 삽입 시 페이지 이동 간 쿠키 값이 공유 되지 않는 이슈

 

[해결 방법]

1. 웹뷰 (webview) 로드 시 cookieManager 쿠키 매니저를 통해 쿠키 값 셋팅 > 웹뷰 로드 수행 실시

[Android]
1. 초기 웹뷰 로드를 수행하기 전 이전에 저장된 쿠키 및 세션 데이터가 있으면 초기화 수행 실시
  - webview.clearCache
  - webview.clearHistory
  - CookieManager.removeSessionCookies
  - CookieManager.removeAllCookies


2. 웹뷰 초기 설정 셋팅 수행 실시 및 로드 하기 (전) 쿠키 매니저를 사용해 쿠키 삽입 실시
  - CookieManager.setCookie


3. 웹뷰 로드 수행 실시
  - webview.loadUrl


4. 실시간 웹뷰 로드 완료 상태 확인 부분에서 웹뷰가 로드 완료 다 된 경우 저장한 쿠키가 정상적으로 포함 되었는지 확인
  - onProgressChanged (실시간 웹뷰 로드 상태 감지) 에서 progress 로딩 상태가 100 인 경우
  - 쿠키 포함 여부 확인 : CookieManager.hasCookies() == true
  - 웹뷰 로드 주소를 사용해 저장된 쿠키 목록 확인 : CookieManager.getCookie(webview.getUrl()))
 
반응형
Comments