ANR을 40% 줄여 고객 불만을 줄인 MyJio

MyJio는 Jio 제품 및 서비스의 세계로 연결되는 관문입니다. 충전, 계정 관리, Jio 기기, UPI 및 결제, 영화, 음악, 뉴스, 게임, 퀴즈 등을 위한 엔터테인먼트 서비스를 한곳에서 모두 이용할 수 있습니다. 5억 명이 넘는 설치 수와 1억 5천만 명이 넘는 MAU를 보유한 MyJio는 인도 최대 규모의 앱 중 하나입니다.

또한 최근 피처폰에서 이전한 신규 사용자 세그먼트인 JioPhone NEXT (Jio의 저렴한 4G 스마트폰)가 출시되면서 업계의 진입이 두드러졌습니다.

이렇게 방대한 사용자층에게 부응하기 위해, 사용자의 1% 에게도 영향을 미치는 성능 문제는 5백만 명의 사용자가 발생하게 됩니다. 그 결과, 앱 성능과 사용자 환경을 개선하기 위한 노력이 필요하게 되었습니다.

과제

MyJio의 ANR 및 비정상 종료 측정항목은 여러 Android 버전에 분산된 중형 및 저사양 기기에 다수 설치되어 있기 때문에 어려움을 겪었습니다. 다양한 기기를 계속 지원하면서 원활한 고객 경험을 제공하는 것이 쉽지 않았습니다. 일부 기기는 구형 및 지원 중단된 Android 버전에서 실행 중이었습니다. 또한 최하위 수준의 Android Go 기기에서 앱이 원활하게 실행되도록 하는 것도 팀에 우선순위였습니다.

로그 수가 제한되어 있고 시나리오를 재현하기가 매우 어려웠기 때문에 디버깅에 상당한 시간이 걸렸습니다.

이러한 문제는 MyJio의 수익 창출 전략에도 직접적인 영향을 미쳤습니다. 앱 내 여정을 원활하게 하고 ANR을 줄이는 데 중점을 두었습니다. 이렇게 하면 사용자가 앱에서 응답하지 않는 번거로움 없이 충전하고, 리드를 생성하고, UPI를 통해 거래하는 등의 다양한 활동을 할 수 있습니다.

실험 방식

MyJio팀은 다양한 기기 하드웨어 구성에서 ANR 및 비정상 종료로 인해 발생하는 병목 현상을 분석하기 위해 Play Console, Android 스튜디오 (개발 및 디버깅용), Firebase Crashlytics 등을 사용했습니다.

팀은 타겟팅된 접근 방식을 취하여 다음과 같은 문제를 해결했습니다.

  • 기기 (특히 메모리가 부족한 기기)의 렌더링 스레드 블록으로 인한 브로드캐스트 ANR, 재구성 ANR, ANR을 식별했습니다.
  • 스택 트레이스에 따라 대시보드 렌더링을 방해하는 관찰된 Compose 관련 ANR
  • Play Console에서 ANR을 관찰한 후 Android 스튜디오의 엄격 모드에서 MyJio 앱을 확인하고 기본 스레드에서 차단되는 문제를 하나씩 수정했습니다.
  • 이상치를 즉시 강조표시할 수 있도록 Firebase Crashlytics에서 신속 알림 오류 보고가 사용 설정되었습니다.
  • 서드 파티 SDK의 통합을 면밀히 관찰하여 300ms를 초과하여 기본 스레드를 차지하지 않도록 했습니다.

결과

MyJio팀은 이러한 변경사항을 구현할 때 다양한 기기 설정을 고려해야 했습니다. 또한 신규 사용자의 유입도 고려해야 했고 피처폰에서 JioPhone NEXT 4G 스마트폰으로 업그레이드했습니다.

팀은 다음과 같은 성과를 달성했습니다.

  • 앱 속도 저하, 비정상 종료, ANR 관련 사용자 피드백 20% 감소 이에 따라 사용자의 세션 시간이 15% 개선되었습니다.
  • ANR 발생률 40% 개선
  • 핫 스타트 시간 70% 개선
  • Play 스토어 평점 18% 향상
  • 세션 시간 15% 개선

팀의 속도와 생산성은 항상 높아지고 있으며, 이러한 개선이 결실을 맺은 것을 보고 팀의 사기도 더욱 높아졌습니다.

"사용자에게 동급 최고의 서비스를 제공한다는 강박관은 Jio와 Google이 공유하는 비전입니다. 이러한 파트너십을 통해 JioPhone Next를 통해 고객 중심이라는 목표를 한 단계 더 발전시켜 아직 발견되지 않은 사용자를 위한 새로운 디지털 혁명을 일으키고 있습니다. 인구통계, 기기, Android 버전에 점점 더 많은 사용자가 온보딩됨에 따라 모든 사용자, 특히 디지털 세상의 신규 진입자를 위해 경험과 최적화를 구현하는 것이 필수적입니다.”

– 모신 아바스, MyJio 고객 및 파트너 채널 제품 및 엔지니어링 책임자 겸 부사장