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 고객 및 파트너 채널 제품 및 엔지니어링 책임자 겸 부사장
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# MyJio reduces customer complaints by lowering ANRs by 40%\n\nMyJio is the gateway to the world of Jio products and services. It is the-one-stop destination for recharges, managing accounts \\& Jio devices, UPI \\& payments, entertainment services with movies, music, news, games, quizzes \\& a lot more. With over 500Mn installs and 150Mn MAUs, MyJio is one of the largest apps in India.\n\nMoreover, with the introduction of the JioPhone NEXT (Jio's low-cost 4G smartphone), a new user segment, recently migrated from feature phones, came into the pie.\n\nCatering to such a huge user base, a performance issue affecting even 1% of users translates into 5 million users. The magnitude, thus, invited a dedicated effort in enhancing the app performance and user experience.\n\nThe Challenge\n-------------\n\nMyJio's ANR and crash metrics were taking a hit due to the app being present in a large number of mid and low-end devices spread across Android versions. It was a challenge to provide a seamless customer experience while continuing to support a variety of devices, some of which were running on older and deprecated Android versions. It was also a priority for the team to ensure the app runs smoothly on the lowest end Android Go device.\n\nDebugging took considerable time as the logs were limited in number and it was very difficult to reproduce the scenarios.\n\nThese challenges directly impacted MyJio's monetization strategy as well. An important area of focus was to make the journeys inside the app seamless and have lesser ANRs. This way users could recharge, generate leads, transact via UPI and various other activities without any hassle of the app not responding.\n\nHow They Did It\n---------------\n\nTo analyze the bottlenecks created by ANRs and crashes across various device hardware configurations, the MyJio team relied on Play Console, Android Studio (for development and debugging), Firebase Crashlytics, and more.\n\nThe team took a targeted approach to address the following issues -\n\n- Identified Broadcast ANRs, Recompose ANRs, and ANRs due to rendering thread block on devices (particularly low memory devices).\n- Observed Compose related ANRs which were hampering the rendering of Dashboard as per the stack trace.\n- After observing ANRs on Play Console, they checked MyJio app on strict mode in Android Studio and proceeded to fix the issues one by one which were blocking on the main thread.\n- Enabled velocity alerts error reporting on Firebase Crashlytics so that any anomalies get highlighted immediately.\n- Integration of third party SDKs was watched closely so that they do not occupy the main thread for more than 300ms.\n\nResults\n-------\n\nThe MyJio team had to be mindful of the various device configurations while implementing these changes. They also had to take into account the influx of new users, upgrading from feature phones to the JioPhone NEXT 4G smartphone. \n\nThe team achieved the following results -\n\n- 20% reduction in user feedback with respect to app slowness, crashes and ANRs. This directly translated into improved session time of users by 15%\n- Improvement in ANR rate by 40%\n- Hot startup time improved by 70%\n- Play Store ratings improved by 18%\n- Improvement in session time by 15%\n\nTeam velocity and productivity are always on the rise, and seeing these improvements come to fruition boosted the team's morale even more.\n\u003e \"The obsession to provide best-in-class services to users is a vision that is\n\u003e shared between Jio and Google. This partnership has helped us take the\n\u003e customer-centricity further with JioPhone Next; allowing a new digital\n\u003e revolution for an untapped set of users. With more \\& more users being\n\u003e onboarded acrross demographics, devices and android versions, it becomes\n\u003e imperative that experience and optimisations be made for all users, especially\n\u003e the new entrants in the digital world.\"\n\u003e\n\u003e **-- Mohsin Abbas, VP - Head of Products \\& Engineering for Customer \\& Partner Channels, MyJio**"]]