기술 자료

Android 크로스 스토어 설치 문제

여러 Android 앱 스토어에 배포할 때 구매 이력 손실 및 동기화 문제를 이해하고 해결합니다.
읽는 시간 2분최근 업데이트: 3달 전

공유 Android 번들 식별자를 사용하여 여러 Android 인앱 구매 스토어(예: Google Play 스토어)에 동시에 퍼블리시하는 경우 크로스 스토어 설치 문제가 발생합니다. 이 페이지에서는 이러한 충돌의 결과와 문제를 해결하는 방법에 대해 설명합니다.
크로스 스토어 설치 시나리오는 사용자가 한 스토어(스토어 A)에서 애플리케이션을 설치한 다음 다른 스토어(스토어 B)에서 애플리케이션으로 설치를 업그레이드하는 경우입니다. 사용자의 설치를 업그레이드할 기회는 최신 애플리케이션 버전을 호스팅하는 스토어에 속합니다. 이 시나리오는 애플리케이션의 두 빌드가 동일한 Android 번들 식별자와 서명 키를 사용하는 경우에 발생할 수 있습니다.
예를 들어
com.foo.bar
가 Google Play와 다른 제조사의 앱 스토어 모두에 퍼블리시되는 경우 두 스토어가 설치된 사용자는 한 스토어에서 앱을 설치한 후 다른 스토어에서 앱을 업데이트할 수 있습니다. 이렇게 하면 IAP 구매 이력이 손실되고 사용자가 이전에 구매한 디지털 상품을 복원하지 못할 수 있습니다.

크로스 스토어 설치 문제의 영향

크로스 스토어 충돌은 IAP를 사용하는 애플리케이션에서 해결할 수 없는 최종 사용자 문제를 일으킬 수 있습니다. 사용자는 설치 제거 또는 재설치 시 구매를 잃고 크로스 스토어 업그레이드에 의해 중단된 진행 중인 구매를 잃을 수 있습니다.
결과로 인한 IAP 문제는 다음과 같습니다.

문제 유형

설명

불완전한 구매 실패사용자가 구매가 승인되었지만 애플리케이션이 스토어의 청구 시스템에서 구매를 수신하는 것을 확인하기 전에 업그레이드하는 경우에 발생합니다. 애플리케이션이 클라우드 인벤토리 서비스와 적시에 동기화하지 못하거나, 앱이 로컬 인벤토리 데이터베이스에 이 새로운 IAP를 저장하기 전에 크래시가 발생할 때 발생할 수 있습니다.
스토어 A에서 구매 보류사용자가 스토어 A에서 IAP 거래를 완료한 후 스토어 B에서 애플리케이션을 다시 설치하는 경우 발생합니다. 해당 거래를 복원할 수 없습니다. 많은 스토어는 애플리케이션이 다른 스토어의 IAP 시스템에 액세스할 수 없도록 명시적으로 허용합니다. 이 문제를 해결하려면 종속된 사용자 ID 서비스와 함께 클라우드 인벤토리 시스템을 활용합니다.
다양한 IAP 상품 목록스토어 B 애플리케이션의 업그레이드된 제품 리스트가 스토어 A 버전의 리스트와 다르면 발생합니다. IAP 카탈로그가 서로 다를 수 있습니다. 이로 인해 일관되지 않은 로컬 인벤토리가 스토어 B 버전에서 읽힐 때 애플리케이션 오류가 발생하거나 사용자가 이전에 구매한 인벤토리를 잃을 수 있습니다. 이 인벤토리는 스토어 B 버전에서 사용할 수 없습니다.

크로스 스토어 설치 문제 해결

크로스 스토어 충돌을 해결하는 방법에는 두 가지가 있습니다.
  • 각 스토어에 고유한 서명 키를 사용합니다. 이렇게 하면 충돌하는 스토어에서 업그레이드 오류 메시지가 표시됩니다.
  • 각 스토어에 고유한 번들 식별자를 사용합니다. 이렇게 하면 사용자가 중복된 앱 설치할 수 있습니다.