PayU가 모바일 SDK에 대한 사전 오류 모니터링을 수행하는 방법 -: - www.deekpay.com
컨텍스트
PayU는 온라인 비즈니스를 위한 결제 게이트웨이 솔루션을 제공하며, 50만 개 이상의 판매자에게 서비스를 제공하고 150개 이상의 결제 수단을 지원합니다. 모든 주요 이커머스 기업과 대부분의 항공사를 포함한 이커머스 판매자가 선택한 결제 파트너입니다.
PayU는 판매자 애플리케이션의 결제 기능에 중요한 역할을 하는 여러 모바일 SDK를 보유하고 있습니다. PayU의 주요 목표는 최소한의 노력으로 최대한 간단하고 원활하게 PayU 플랫폼에 판매자를 통합하는 것입니다.
아래에서는 조기 수정 전략을 위해 PayU 크래시 리포터 SDK를 구축하고 모든 SDK 제품에 통합한 방법에 대해 설명합니다.
문제 설명
PayU는 공용 리포지토리(예: Maven Central, Cocoa Pods)를 통해 SDK를 배포하고 기업은 이를 애플리케이션에 통합합니다. 코드베이스에서 크래시가 발생하면 크래시 정보는 판매자의 크래시 도구 대시보드에 기록된 후 나중에 당사에 전달됩니다. 실시간으로 크래시를 모니터링할 수는 없습니다. 판매자 대시보드에서 필요한 디버깅 정보를 얻는 것이 항상 쉬운 일이 아니었기 때문에 디버깅 시간이 더 오래 걸렸습니다. SDK 버전 정보와 해당 매핑 파일이 누락되어 스택 추적을 파싱하는 데 어려움을 겪기도 했습니다.
탐색
시중에 나와 있는 여러 제품(예: Crashlytics, ACRA, BugSnag)을 사용해 이 문제를 해결하려고 시도했지만 플러그 앤 플레이가 가능한 제품은 없었습니다.
문제를 해결할 수 없는 이유는 다음과 같습니다:
이러한 솔루션은 모두 애플리케이션 수준에서 고유 ID로 구성해야 하므로 단일 애플리케이션에서 동시에 여러 솔루션을 사용하는 것은 기술적으로 불가능합니다. 이러한 제품은 라이브러리 모듈을 지원하지 않으며 애플리케이션 수준에서 프로젝트 사용으로 제한됩니다.
저희는 위의 문제를 해결하는 오픈 소스 솔루션인 Sentry를 발견했습니다. Sentry는 SDK 충돌 모니터링이라는 주요 목표를 달성하는 SDK 제품을 보유하고 있지만 몇 가지 과제를 안고 있기도 합니다:
대용량: 센트리 SDK는 상태 모니터링, NDK 충돌 보고 등 우리가 관심이 없는 다른 많은 기능을 제공하기 때문에 크기가 약 1000KB입니다.
데이터 제어: Sentry SDK가 중요하지 않은 많은 데이터 포인트를 캡처하기 때문에 데이터를 더 엄격하게 제어하고 싶었습니다. 이로 인해 페이로드 크기가 부풀려지기도 했습니다.
최종 방법
저희는 위의 문제를 해결하기 위해 자체적으로 PayU 크래시 리포터 SDK(센트리 기반)를 개발했습니다.PayU 크래시 리포터 SDK는 글로벌 예외 처리기를 등록하여 스택 추적을 파싱하고 PayU SDK 내에서 발생하는 크래시만 보고합니다. 그런 다음 빈도가 높은 이벤트는 스프린트 주기에 통합되거나 핫 픽스로 해결되어 보다 안정적인 SDK가 만들어집니다.
페이유 크래시 리포터 SDK 흐름
페이유 크래시 리포터 SDK 대시보드
크기: 약 40KB, 센트리 SDK의 1/25 크기. 불필요한 기능을 모두 제거하여 크기를 줄였습니다.
데이터 제어: 라이브러리 버전, 거래 ID, 판매자 애플리케이션의 모든 모듈 세부 정보, 스택 추적과 같은 필수 필드만 보고하여 디버깅을 간소화합니다.
안정성: PayU 크래시 리포터는 전적으로 Kotlin으로 작성되었으며, 네트워크 호출을 완화하고 안정성을 개선하기 위해 최신 관행(예: 코프로세싱)을 사용합니다.
확장성: PayU 크래시 리포터 SDK는 모든 SDK 제품에서 크래시 모니터링을 위해 사용할 수 있도록 설계되었습니다.
힘에서 힘으로
페이유 크래시 리포터 SDK가 모든 SDK에 통합되어 150개 이상의 판매자에게 원활하고 안정적인 경험을 제공할 수 있게 되었습니다.
최근 사례로, 일일 활성 사용자가 수백만 명에 달하는 상위 이커머스 기업 중 한 곳에서 디바이스 메모리가 부족할 때 SDK가 충돌하여 고객 경험이 좋지 않았습니다. 앱의 초기 출시 단계에서 PayU 크래시 리포터 SDK를 사용하여 이 문제를 발견하고 수정했습니다.
이 외에도 런타임에 PayU 크래시 리포터 SDK에서 자주 관찰되는 크래시(예: 처리되지 않은 예외, 숫자 형식 예외, 잘못된 매개변수 예외, 널 포인터 예외 등)는 해당 SDK의 후속 버전에서 즉시 수정되었습니다.
시작에 필요한 모든 것
PayU에서 제공하는 다양한 결제 SDK를 확인하여 Android와 iOS 모두에서 원활한 결제 환경을 구축할 수 있습니다.
통합 관련 지원이 필요한 경우 주요 계정 관리자 또는 이메일([email protected])로 문의하세요.
