ANR을 줄인 후 OkCredit의 평균 판매자 거래가 30% 증가했습니다.

OkCredit은 인도에 거주하는 수백만 명의 매장 소유자와 고객을 위한 신용 계좌 관리 앱입니다. 전월 대비 1억 4,000만 건의 거래와 5,000만 회 이상의 다운로드를 기록했으며, OkCredit는 작년에만 앱에서 500억 달러 상당의 거래를 기록했습니다.

OkCredit의 규모와 앱을 사용해 계정을 관리하는 수많은 기업을 고려할 때 OkCredit은 사용자가 사용하는 기기와 상관없이 모든 사용자에게 원활하고 원활한 경험을 제공해야 합니다.

사용자는 긍정적인 리뷰와 높은 평점을 통해 최고의 성능을 내는 앱에 보상을 제공합니다. 앱의 안정성이나 성능 문제가 발생하면 불만을 느끼게 되며, 오히려 평점이 나빠지는 경우도 있습니다. 따라서 ANR (애플리케이션 응답 없음)은 사용자의 만족도를 높이고 지속적으로 우수한 사용자 환경을 제공하는 것이 목표인지 여부를 추적하는 중요한 성능 측정항목이 됩니다.

OkCredit은 ANR을 줄이고 앱 시작 시간을 개선하는 등 Android vitals를 개선하는 데 투자했으며, 특히 리소스가 제한된 저사양 기기에서 더 큰 성과를 거두었습니다. 그 결과 고객 유지율은 물론 앱에서의 판매자 거래도 모두 개선되었습니다.

과제

OkCredit의 주요 세그먼트 중 하나는 저사양 기기 사용자였습니다. 이러한 기기는 리소스가 제한되어 있으므로 이러한 기기에서 과세 작업을 실행하면 최적의 사용자 환경을 쉽게 만들 수 있습니다. 예를 들어 ANR을 추적하고 계측하는 것이 유지보수에 관한 주요 과제였습니다. 전반적인 사용자 경험을 개선하고 판매자 거래를 늘리는 것을 목표로 이러한 문제를 해결하는 것이 목표였습니다.

무슨 일을 했나요?

OkCredit과 같은 앱의 ANR을 줄이고 앱 시작 시간을 개선하여 고객의 만족도를 높이고 앱에서의 판매자 거래도 늘렸습니다.

ANR 디버깅에서 가장 중요한 단서는 ANR이 발생했을 때 기본 스레드에서 어떤 작업을 하고 있었는지 확인하는 것입니다. OkCredit은 Google의 의견을 바탕으로 이러한 ANR을 식별하는 구조화된 접근 방식을 만들었습니다.

  • Android Vitals를 사용하여 성능을 모니터링하고 Firebase Crashlytics에서 커스텀 보고서를 사용하여 ANR을 학습했습니다.
  • 앱 시작부터 서드 파티 라이브러리를 백그라운드 스레드로 이동하여 초기화를 최적화함
  • Systrace 및 Profiler와 같은 도구를 사용하여 broadcast receiver 및 서비스에서 ANR을 식별했습니다. CI 기반 Macrobenchmark는 콜드 스타트업을 벤치마킹하는 데도 도움이 되었습니다.
  • 메서드 프로파일러를 사용하여 객체가 느리게 로드되는 것으로 식별되었습니다.
  • perfetto를 사용하여 높은 인플레이션 레이아웃이 식별되었습니다.
  • 백그라운드 스레드에서 모든 apply()를 commit()으로 변경하여 공유 환경설정의 ANR을 해결했습니다.

위의 작업은 측정항목을 비교하거나 systrace, CPU 프로파일러 등의 도구를 사용하여 영향을 확인할 수 있도록 검증되었습니다.

결과

OkCredit 개발팀은 측정항목과 사용자 환경을 개선하는 것 외에도 향후 개발 프로세스를 개선하는 데 도움이 되는 유용한 정보를 얻었습니다.

  • 저사양 기기 -
    • ANR 60% 감소
    • 저사양 기기의 1일 차 고객 유지율 약 22% 향상
    • 각 판매자의 평균 거래 30% 증가
  • Play 스토어에서 앱 평점이 4.3에서 4.6으로 개선되었습니다.
  • 콜드 스타트 시간 약 70% 개선
  • 어느 화면에서든 첫 번째 프레임을 완전히 그리는 사용자 클릭을 60 % 개선

이 연습을 통해 팀은 권장사항을 만들고 사용자 경험을 개선하는 데 집중하게 되었습니다. 팀은 시스템에 대한 이해도를 높이고 더 빠르게 결정을 내리기 위해 개발 자체 단계에서 Perfetto와 CPU 프로파일러와 같은 도구를 사용하기 시작했습니다.

"ANR을 줄이는 데 집중한 덕분에 만족스러운 경험을 제공하여 다른 업체와 차별화할 수 있었습니다. 그 결과 유지율이 증가하고 이탈이 줄었습니다. 또한 팀의 엔지니어링 우수성으로 인해 이러한 관행은 조직 문화에 큰 영향을 미칩니다. 덕분에 초기 인도 SMB 디지털화 업계에서 새로운 앱 성능 벤치마크를 세우고 있는 회사로서 자부심을 느낍니다."

– 고라브 쿤와르 (OkCredit) 공동 설립자 겸 CPO