투케이2K

18. (TWOK/LOGIC) [모바일] 웹뷰 (webview) 로드 시 사전 캐시 초기화 로직 본문

투케이2K 로직정리

18. (TWOK/LOGIC) [모바일] 웹뷰 (webview) 로드 시 사전 캐시 초기화 로직

투케이2K 2022. 9. 20. 08:02

[로직 정리]

정리 로직 : MOBILE (Android / Ios)

상태 : [모바일] 웹뷰 (webview) 로드 시 사전 캐시 초기화 로직

 

[설 명]

[모바일]

1. A_Main 클래스 시작 부분에서 네트워크 연결 상태 체크 실시


2. 모바일에 네트워크가 연결 된 경우 >> appVersionHttpRequest 앱 버전 확인 http 요청 실시 (커넥션 타임 5초)


3. 정상적으로 onSuccess 응답을 받은 경우 body 쪽에서 데이터 읽음 
  - onFail 인 경우 : 커넥션 타임 아웃인 경우는 디스크 캐시 사용해 웹뷰 로드 / 그 외는 캐시 초기화 로직 사용해 웹뷰 로드


4. onSuccess  인 경우 body 쪽에서 읽은 데이터 널 체크 수행 >> 널이 아닌 경우 >> 기존에 저장된 앱 버전 프리퍼런스 값 확인


5. 기존에 저장된 프리퍼런스 값이 없는 경우 (최초 저장) 는 프리퍼런스에 앱 버전 저장 및 캐시 초기화 로직 사용해 웹뷰 로드


6. 기존에 저장된 프리퍼런스 값이 있는 경우 >> body 에서 읽은 앱 버전과 비교 >> 다른 경우는 캐시 초기화 로직 사용해 웹뷰 로드


7. 기존에 저장된 프리퍼런스 값이 body 에서 읽은 앱 버전과 같은 경우 >> 디스크 캐시 사용해 웹뷰 로드 수행 실시


8. init_Webview 웹뷰 로드 수행 부분에서 커넥션 타임 아웃 발생 시 >> 비동기 앱 버전 확인 http 요청 재실시 (15초)


9. 비동기 앱 버전 확인 http 부분에서 프리퍼런스에 저장된 데이터가 body 에서 읽은 앱 버전과 다른 경우는 [특정값 + 앱 버전] 값으로 업데이트 실시


10. 다음번 사용자가 앱 실행 시 앱 버전 확인에서 [특정 값] 포함 체크 >> http 요청 없이 >> 캐시 초기화 로직 사용해 웹뷰 로드

 


반응형
Comments