모바일 앱약 6분

iOS와 Android 앱을 하나로 합치기 전에 점검할 것

화면이 켜진 스마트폰 뒤로 또 한 대의 기기가 겹쳐 있고, 알림 패널 조각이 둘 사이에서 떠오르는 3D 렌더
목차

앱 두 개를 따로 운영하면 생기는 일

브랜드나 사업부가 늘어나는 과정에서 앱이 자연스럽게 두 개, 세 개로 나뉘는 경우가 있습니다. 처음에는 서로 다른 일정으로 만들어졌으니 따로 운영하는 쪽이 편하지만, 시간이 지나면 같은 기능을 양쪽 코드에서 각각 고치고 각각 테스트해야 하는 유지보수 부담이 쌓입니다.

더 자주 생기는 문제는 한쪽 앱에만 있는 기능이 늘어나는 것입니다. 새로운 요청이 들어오면 먼저 바쁜 쪽부터 반영하게 되고, 그 격차가 쌓이면 사용자는 같은 회사 서비스인데도 앱마다 다른 경험을 하게 됩니다. 운영하는 쪽에서도 심사 일정과 배포 시점을 두 번씩 관리해야 하니, 신경 쓸 지점이 그만큼 늘어납니다.

하나로 합칠 때 공통으로 묶을 수 있는 부분

화면 구조와 디자인은 대부분 공통으로 묶을 수 있음

화면 목록과 사용자 흐름, 디자인은 기기 종류와 상관없이 같은 기준으로 설계할 수 있는 부분이 많습니다. 로그인, 홈, 마이페이지 같은 공통 화면을 하나의 구조 위에 올려두면, 이후 화면 하나를 고칠 때 양쪽에 같은 수정이 한 번에 반영됩니다.

기기마다 다르게 동작하는 기능은 따로 처리

카메라, 위치, 생체인증, 결제처럼 기기 운영체제가 직접 관여하는 기능은 권한을 요청하는 방식과 사용자에게 보이는 순서가 플랫폼마다 다릅니다. 예를 들어 생체인증은 기기 운영체제가 제공하는 보안 저장소만 이용하고 지문이나 얼굴 정보 자체는 서버로 보내지 않는데, 이런 처리 방식도 플랫폼마다 달라 공통 구조 안에서도 나누어 처리하고, 두 플랫폼을 억지로 똑같이 맞추기보다는 각 기기에서 사용자가 이미 익숙한 방식을 그대로 따릅니다.

기존에 쌓인 데이터와 로그인 정보를 그대로 옮기는 방법

같은 사용자가 두 앱에 각각 다른 계정으로 가입돼 있는 경우가 실제로 자주 있습니다. 이메일이 한쪽에만 등록돼 있거나 연락처 형식이 다르게 입력된 경우도 섞여 있어, 데이터를 옮기기 전에 같은 사람인지 판단하는 기준부터 먼저 정합니다. 이 기준을 세운 뒤에야 포인트나 이용 기록 같은 정보를 어느 계정 쪽으로 모을지 정할 수 있습니다.

데이터를 옮기는 작업보다 먼저 끝내야 하는 일은, 두 앱에 흩어진 계정 중 어느 것이 같은 사람인지 판단하는 기준을 세우는 것입니다.

병합 규칙을 정했다고 해도 전체 계정을 한 번에 옮기지는 않습니다. 일부 계정을 먼저 옮겨 결과를 확인한 뒤 나머지로 범위를 넓히는 방식을 쓰고, 이전 중간에 문제가 생기면 옮기기 전 상태로 되돌릴 수 있는 백업을 미리 마련해둡니다.

전환 기간에도 끊기지 않아야 하는 서비스

통합 작업을 시작했다고 해서 기존 사용자가 한꺼번에 새 앱으로 넘어오지는 않습니다. 업데이트를 바로 받지 않고 기존 버전을 한동안 그대로 쓰는 사용자가 늘 있기 때문에, 기존 버전에서도 로그인과 핵심 기능이 계속 동작하도록 일정 기간 양쪽을 함께 지원하는 계획을 세웁니다.

스토어 심사와 배포는 앱스토어와 플레이스토어가 각각 정한 기준에 따라 따로 진행됩니다. 예를 들어 소셜 로그인을 넣었다면 애플 로그인도 같은 위치에 두고, 계정을 만들 수 있게 했다면 앱 안에서 계정을 지우는 기능도 갖춰야 합니다. 이 기준에 걸려 반려되면 사유를 확인해 보완한 뒤 다시 제출하므로, 통합한 새 앱을 올릴 때도 이 흐름을 감안해 순서를 나눠 진행합니다. 기존 앱의 운영을 급하게 멈추지 않고, 새 앱이 안정적으로 자리를 잡은 뒤에 기존 버전 지원을 정리합니다.

합친 뒤에 달라지는 운영

화면과 기능의 공통 부분을 고치면 두 플랫폼에 한 번에 반영됩니다. 전에는 같은 수정을 두 플랫폼 코드에서 각각 만들고 각각 테스트해야 했다면, 공통 구조로 합친 뒤에는 그 작업과 검토가 한 번으로 줄어듭니다.

새 기능을 추가할 때도 검토해야 할 화면의 범위가 단순해집니다. 새 운영체제 버전이 나왔을 때도 호환성을 한 번 확인하면 되기 때문에, 운영 쪽에서 반복해서 들어가던 손이 눈에 띄게 줄어듭니다.

오류나 장애를 확인하는 모니터링도 하나의 화면에서 두 플랫폼을 함께 들여다볼 수 있게 됩니다. 문제가 특정 플랫폼에서만 벌어지는지, 공통 구조 쪽에서 벌어지는지를 가려내는 시간도 그만큼 줄어듭니다.

공통 부분을 하나로 합친 뒤에는 고치는 것도, 검토하는 것도 한 번으로 줄어듭니다.

합치기 전에 점검해두면 좋은 것들

지금 운영 중인 앱들의 화면과 기능을 목록으로 적어보는 것이 가장 먼저 할 일입니다. 어떤 기능이 한쪽 앱에만 있는지, 두 앱의 사용자 비중이 어느 쪽으로 더 기울어 있는지를 정리해두면 통합 범위를 정하는 데 걸리는 시간이 줄어듭니다.

계정 정보가 각 앱에 어떤 형식으로 저장돼 있는지도 미리 확인해두면 좋습니다. 이메일, 연락처, 가입 방식이 자체 계정인지 소셜 로그인인지가 앱마다 같은 기준으로 들어있는지 살펴보면, 상담 단계에서 병합 규칙을 정하는 과정이 한결 빨라집니다.

기존 앱 중 하나가 다른 업체가 만든 것이라면, 소스코드와 서명키, 스토어 계정 접근 권한이 실제로 넘겨받을 수 있는 상태인지부터 확인합니다. 이 세 가지가 모두 확보돼야 통합 작업을 바로 이어갈 수 있고, 하나라도 빠져 있으면 통합보다 먼저 그 부분을 해결하는 절차가 앞에 추가됩니다.

정리

앱 두 개를 하나로 합치는 일의 핵심은 공통으로 묶을 수 있는 부분과 플랫폼마다 다르게 둬야 하는 부분을 먼저 가려내는 데 있습니다. 이 판단부터 끝내두면 화면 구성은 그 위에서 자연스럽게 따라오고, 이후 기능을 늘려가도 같은 구조를 그대로 다시 쓸 수 있습니다.

지금 운영 중인 앱의 화면 목록과 계정 저장 방식을 정리해두면, 상담에서 바로 통합 범위를 살펴볼 수 있습니다. 모바일 앱 서비스 페이지에서는 기존 앱을 넘겨받아 운영을 잇는 과정과 두 앱을 하나로 합치는 과정을 단계별로 더 자세히 안내합니다.

관련 서비스모바일 앱하나의 코드로 iOS와 Android 앱을 만듭니다iOS와 Android 앱을 하나의 코드로 개발합니다. 따로 운영하던 앱을 하나로 합치는 작업도 합니다.