• 티스토리 홈
  • 프로필사진
    루루개발자
  • 방명록
  • 공지사항
  • 태그
  • 블로그 관리
  • 글 작성
루루개발자
  • 프로필사진
    루루개발자
    • 분류 전체보기 (213)
      • react & next.js (13)
      • Node.js & Javascript & Type.. (24)
        • d3.js (10)
      • 차트 만들기 (1)
      • 티스토리 스킨 개발 (7)
      • 내가 만든 패키지 (3)
      • 내가 만든 CSS (1)
      • CSS (7)
      • 도커 & 쿠버네티스 (3)
      • 개인 프로젝트 (7)
      • 리뷰 & 추천 (2)
      • 알고리즘 (1)
      • IT 기타 (18)
      • 잡동사니 (1)
      • Spring Boot (5)
      • 취미로 그리는 그림들 (120)
      • 개인적인 생각들 (0)
  • 반응형
  • 방문자 수
    • 전체:
    • 오늘:
    • 어제:
  • 최근 댓글
      등록된 댓글이 없습니다.
    • 최근 공지
        등록된 공지가 없습니다.
      # Home
      # 공지사항
      #
      # 태그
      # 검색결과
      # 방명록
      • 안드로이드 디바이스가 절전모드일 때 발생한 이슈
        2022년 10월 01일
        • 루루개발자
        • 작성자
        • 2022.10.01.:05
        반응형

        안녕하세요. 루루개발자 입니다.

        최근 안드로이드 디바이스의 절전모드로 인해 겪었던 이슈에 대해 공유드리고자 합니다.

         

        이슈가 생긴 서비스의 플로우는 어떻게 되나?

        어떤 서비스의 로그인 페이지가 있습니다. A 앱에서는 이 로그인 페이지를 웹뷰로 표시하고, 로그인 페이지에서 "로그인" 버튼을 클릭하면 B 앱이 위에 표시되며 로그인이 진행 된 후 B 앱이 종료되며 다시 A 앱의 웹뷰 화면으로 돌아가게 됩니다.

         

        발생한 이슈는 무엇인가?

        문제는, B앱이 호출된 직후 A앱 Webview 페이지의 javascript 에서 이후 로직이 진행되어야 하는데 해당 로직이 진행되지 않아 팝업창이 표시되지 않는 현상이 발생하였습니다. 다양한 케이스로 테스트를 해본 결과 원인은 절전모드에 있었습니다. 안드로이드 디바이스의 절전모드가 활성화 되어 있으면 브라우저가 백그라운드로 넘어가게 되면 javascript 가 동작을 하지 않게 됩니다. 그래서 이후 팝업을 띄우거나 API 호출 등을 하는 javascript 코드가 동작하지 않았던 것입니다.

         

        다른 앱은 절전모드에 대해 어떻게 대처하고 있는가?

        대표적인 예로 카카오맵을 들어볼 수 있을 것 같습니다. 카카오맵은 절전모드가 활성화 되면 다음과 같은 토스트메시지가 표시됩니다.

        절전모드 기능을 막을 수는 없으니, 사용자가 절전모드를 활성화하면 일부 기능이 정상 작동하지 않을 수 있다고 알림을 주는 방식으로 대처를 하고 있는 모습을 볼 수 있습니다.

         

        그래서 이번 이슈는 어떻게 해결을 하였나?

        네, 저희도 이번 이슈가 절전모드로인해 백그라운드에서 javascript 동작 멈춤으로 생긴 이슈라는 것을 인지하였고 다음과 같이 대처하였습니다.


        <수정 전>

        앱을 호출한 이후에 팝업창을 표시

         

        <수정 후>

        앱을 호출하기 전에 먼저 팝업창을 표시


        요점은, 백그라운드로 넘어가서 Javascript 가 비활성되기 전에 먼저 팝업창을 표시해주는 것입니다.

         

        마치며

        이번 이슈로 느낀점은 정말 다양한 케이스를 염두에 두고 테스트를 하는 것이 중요하다고 느꼈습니다.

         

         

        반응형

        'IT 기타' 카테고리의 다른 글

        MQTT 에 대하여  (0) 2023.07.22
        github 에 내가 만든 react frontend package 배포하기  (0) 2023.07.22
        GET 메소드 요청시 body 를 보낼 수 있을까?  (0) 2022.08.28
        github 에서 서명된 커밋 (gpg) 사용하기  (0) 2022.08.01
        OAuth 2.0 에 대하여  (0) 2021.11.27
        다음글
        다음 글이 없습니다.
        이전글
        이전 글이 없습니다.
        댓글
      조회된 결과가 없습니다.
      스킨 업데이트 안내
      현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
      ("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)
      목차
      표시할 목차가 없습니다.
        • 안녕하세요
        • 감사해요
        • 잘있어요

        티스토리툴바