부동산 확인 잠재고객 수를 2배로 늘린 Realtor.com

Realtor.com은 News Corp의 자회사 Move, Inc에서 운영하는 유명 온라인 부동산 사이트입니다. Realtor.com은 위치 기반 검색을 통해 매입 또는 대여 가능한 부동산을 찾을 수 있는 플랫폼을 제공합니다. Realtor.com은 매월 거의 6천만 명에 달하는 순 방문자를 데스크톱 및 모바일 플랫폼으로 유치하고 있습니다. 사고 싶은 주택을 둘러보거나 차를 타고 원하는 지역으로 이동하는 중에 주택을 검색해야 하는 Realtor.com의 잠재고객에게 있어 부동산 검색 기능은 점점 더 중요해지고 있습니다. 모바일 분야는 Realtor.com 사용자층 중에서도 가장 빠른 성장세를 보이는 세그먼트입니다.

진행한 작업

Realtor.com에서는 12MB 크기의 앱을 크기가 4MB도 채 되지 않는 인스턴트 앱 모듈로 분할했으며, 이러한 작업을 통해 Android 인스턴트 앱을 지원할 수 있게 되었습니다. Realtor.com팀은 APK Analyzer를 사용하여 크기 제한을 모니터링했으며 www.methodscount.com에서 여러 타사 모듈의 메서드 수를 확인할 수 있었습니다.

Proguard 코드 및 리소스 축소를 활용해 부분적으로 크기를 줄였고, 여러 타사 분석 SDK를 하나로 통합하고 다른 타사 SDK를 크기가 작은 자사 모듈로 교체함으로써 크기를 더욱더 줄일 수 있었습니다. 모듈식 디자인 작업이 진행되고 있었으므로, 인스턴트 앱을 만들기 위해 필요한 작업 중 일부도 이미 시작되어 있었습니다. 하지만 64K dex 제한이 여전히 문제가 되었습니다.

이에 Realtor.com에서는 추적 관리자 모듈을 사용해 모든 라이브러리를 개별적으로 등록할 수 있도록 각각의 추적 SDK를 자체 라이브러리 프로젝트로 캡슐화하여 메서드 중 일부를 줄일 수 있었습니다. 이 추적 관리자를 사용하면 인스턴트 앱에는 추적 라이브러리의 하위 세트를, 설치된 앱에는 전체 세트를 포함할 수 있습니다.

콜백 인터페이스는 로그인이나 목록 저장 등 설치된 앱에서만 사용할 수 있으며 인스턴트 앱에서는 무시되었던 다른 기능에 연결할 수 있는 인스턴트 앱 모듈에 사용되었습니다. 또한 Realtor.com에서는 Dagger 종속 항목 삽입을 사용해 리팩터링된 인스턴트 앱 코드베이스의 싱글톤 모듈 전달을 간소화했습니다. 하지만 팀에서는 이 편리한 기법에 신중하게 접근해야 했습니다. 정적 싱글톤 클래스를 사용할 때 메모리 누수가 발생할 수 있기 때문입니다.

최초 출시 후 Cast v3와 같은 기능이 추가되면서 인스턴트 앱 APK 크기는 한도인 4MB를 크게 넘어섰습니다. Play Console에서 프로덕션 트랙 배포를 차단했을 때 후속 출시 버전을 대상으로 회귀 테스트를 실시했는데, 이때 이러한 문제가 발견되었습니다. 이 문제를 방지하기 위해 Realtor.com팀은 CI 파이프라인 자동 빌드에 크기 진단 기능을 구현했습니다. 이 진단 기능은 출시 버전의 변형(디버그가 더 크기 때문임)을 빌드하며 ZIP 빌드 아티팩트에서 APK를 추출한 다음 크기를 확인합니다. 크기 한도는 ZIP 파일로 압축되기 전 크기에 적용되기 때문입니다. 이 진단을 통과하지 못하는 커밋은 모두 차단됩니다. 또한 개발 트랙의 크기 한도가 더욱 크기 때문에 품질 엔지니어링팀은 개발 트랙이 아닌 사전 출시 배포 트랙을 사용합니다.

결과

인스턴트 앱이 2017년 5월에 출시된 이후 Realtor.com의 주요 전환 측정항목이 증가세를 보였으며 부동산 목록 세부정보 페이지 조회당 잠재고객 수가 2배로 늘어났습니다.

Realtor.com에서 적극적인 인스턴트 앱 구현을 담당하는 최고 제품 관리자인 로리 칸은 "인스턴트 앱은 앱 빌드 방식의 미래라고 생각합니다. 인스턴트 앱을 사용하면 사용자가 Play 스토어에서 앱을 따로 설치하지 않고도 훌륭한 앱 환경을 편리하게 즐길 수 있습니다. Realtor.com 역시 이미 인스턴트 앱으로 큰 성과를 내고 있죠."라고 말합니다.

Realtor.com 인스턴트 앱 빌드 경험에 관해 자세히 알아보세요.

시작하기

Android 인스턴트 앱은 2017년 5월부터 모든 개발자에게 공개되어 있습니다. 인스턴트 앱 시작하기