Android Dev Summit, October 23-24: two days of technical content, directly from the Android team. Sign-up for livestream updates.

프로모션 구현

프로모션 또는 프로모션 코드를 사용하면 한정된 수의 사용자에게 일회성 제품이나 구독 체험판을 무료로 제공할 수 있습니다. 사용자는 상품 또는 구독 체험판을 무료로 받기 위해 개발자의 앱 또는 Google Play 스토어 앱에서 프로모션 코드를 입력합니다. 다음과 같은 여러 가지 방법으로 프로모션 코드를 활용하여 창의적으로 사용자의 참여를 유도할 수 있습니다.

  • 이벤트에서 프로모션 코드가 있는 카드를 배포할 수 있으며, 사용자는 프로모션 코드를 입력하여 특별한 게임 내 상품을 잠금 해제할 수 있습니다.
  • 직원에게 코드를 제공하여 직원이 친구나 가족에게 코드를 공유할 수 있습니다.
  • 특정 기간에 앱을 구매하는 사용자에게 프로모션 코드를 보낼 수 있습니다.

구독의 경우 다음을 유의하세요.

  • 프로모션 코드는 무료 구독이 아닌 무료 구독 체험판을 제공합니다.
  • 프로모션은 다른 무료 체험판의 기간을 연장하지 않습니다. 프로모션 코드가 필요 없는 무료 체험판으로 구독을 시작하는 경우 프로모션이 원래 무료 체험판 기간을 재정의합니다.
  • 프로모션 외 무료 체험판을 사용할 자격이 없는 사용자(예: 과거에 이미 구독을 구매했던 사용자)도 프로모션을 통해 무료 체험판을 이용할 수 있습니다.

Google Play Console을 사용하여 프로모션 코드를 할당하세요. 프로모션 코드를 만들려면 프로모션 만들기를 참조하세요.

프로모션 코드 사용

사용자는 다음 방법 중 하나로 프로모션 코드를 사용할 수 있습니다.

  • Google Play 스토어 앱에서 직접 코드를 입력합니다.
  • Google Play 구매 화면에서 결제 방법 옆에 있는 아래쪽 화살표를 클릭하고 사용 링크를 클릭합니다.

그림 1은 아래쪽 화살표가 있는 구매 화면을 보여줍니다. 그림 2는 사용 링크 버튼을, 그림 3은 사용자가 프로모션 코드를 입력하는 화면을 보여줍니다.

그림 1. Google Play 제품 사용 대화상자
그림 2. 사용 버튼이 표시되는 결제 대화상자
그림 3. 프로모션 코드 화면

프로모션 URL 생성

프로모션 코드 사용 시 사용자는 Google Play 스토어에 프로모션 코드를 직접 입력할 수 있습니다. 또는 사용자를 Google Play 스토어로 보내고 코드 입력 필드를 자동으로 채우는 URL을 생성할 수 있습니다. 다음과 같은 프로모션 코드 URL 형식을 사용하세요.

https://play.google.com/redeem?code=promo_code

그림 4는 Google Play 앱의 코드 사용 대화상자를 보여줍니다.

그림 4. Google Play 앱의 코드 사용 대화상자

앱의 최신 버전이 설치된 경우 사용자가 사용을 누르면 Google Play 스토어에서 사용자에게 앱을 열라는 메시지를 표시합니다. 앱의 최신 버전이 설치되지 않았다면 Google Play 스토어에서 사용자에게 앱을 업데이트하거나 다운로드하라는 메시지를 표시합니다.

앱에서 프로모션 코드 지원

앱에서 프로모션 코드를 식별하고 처리할 수 있도록 앱을 변경해야 합니다. 앱이 시작되거나 다시 시작될 때마다 앱에서 queryPurchases() 메서드를 호출해야 합니다. 이 메서드는 사용자가 프로모션 코드를 사용하여 구매한 모든 내역을 포함하여 현재 소비하지 않은 모든 구매 항목을 번들로 반환합니다. 가장 간단한 방법은 활동의 onResume() 메서드에서 queryPurchases()를 호출하는 것입니다. 활동이 생성될 때와 활동의 일시중지가 해제될 때 이 콜백이 실행되기 때문입니다. onStart()onResume()에서 queryPurchases()를 호출하면 앱에서 앱이 실행되지 않은 동안 사용자가 진행했을 수 있는 모든 구매와 사용 내역을 알게 됩니다. 또한 앱 실행 중에 사용자가 구매하는데도 어떤 이유로든 앱에서 사용자의 구매를 놓친 경우 다음에 활동이 다시 시작되어 queryPurchases()를 호출하면 앱에서 놓친 구매 내역을 파악할 수 있습니다.

활동의 onPurchasesUpdated() 메서드는 구매가 완료된 시점을 식별하는 응답 인텐트를 수신합니다. 그러나 구매 및 소비 워크플로가 완료되지 않은 경우에는 계속해서 앱이 onStart()onResume()에서 queryPurchases()를 호출해야 합니다. 예를 들어 사용자가 프로모션 코드를 사용했는데 상품을 소비하기 전에 앱이 다운되는 경우 다음 시작 시 앱에서 queryPurchases()를 호출하면 계속 구매에 관한 정보를 받습니다.

앱은 앱 실행 중에 사용자가 Google Play 스토어 앱에서 프로모션 코드를 사용하는 시나리오도 지원해야 합니다. 앱에서는 onPurchasesUpdated() 리스너를 통해 사용에 관한 정보를 확인할 수 있습니다.