자동 갱신형 구독 상품(이하 구독 상품)을 기획하고 운영하기 위해서는, Google과 Apple의 개발 환경을 이해하고 그에 맞추어 진행할 수 있도록 해야합니다.  

구독 상품 기획하기

구독은 마켓 계정에 따라 구독 적용이 되므로, 유저가 멀티 플랫폼을 이용하는 경우에도 구독 효과가 정상적으로 유지될 수 있어야합니다. 또한 하나의 마켓 계정에 다수의 게임 계정을 가진 유저의 경우 구독 소유권에 대한 정책을 수립해야합니다.  최초 구독 상품을 서비스할 때에는 단일 그룹-단일 상품으로 시작하여, 유저의 구독 추이를 분석 후 상품을 확장하는 것을 추천합니다.

멀티 플랫폼 적용

  • Google와 Apple 플랫폼을 모두 사용하는 유저 대응을 위해 게임에서는 PlayerID 와 동일 상품으로 영수증 관리가 필요함
  • Google과  Apple의 구독 서비스의 차이때문에 업그레이드/크로스그레이드/다운그레이드가 가능한 상품 구성은 권장하지 않음
    • 구독 그룹별 하나의 상품만 구성하는 것을 권장함
  • 영수증 스케쥴링
    • Google-Apple 간의 구독 상태 확인을 위해서 필요
      • 단일 상품 : 만료일 1일전~1일후 3일간 일1회

PlayerID 기반의 서비스 소유권 정책

  • 구독 영수증 소유자의 PlayerID에만 적용 
    • 구독 영수증 소유자 : 첫번째 구독 영수증(original_transaction_id, linked_purchase_token) 
    • 그외 PlayerID가 구독 시도시 restore를 통해 구독 상태를 확인하고 구독이 안됨을 고지 
      • 예시 : 다른 PlayerID로 이미 구독 중이므로, 현재 로그인 중인  PlayerID에서는 구독을 할 수 없습니다.
        [구독 중인 PlayerID xxxxxxx / 게임닉네임 ooooo ]

restore 버튼 필수

  • Apple 가이드라인에 따라 복원할 수 있는 모든 앱 내 구입에 대한 복원 메커니즘을 반드시 갖추고 있어야 함 (관련링크)

 

게임 내 구독 결제에 대한 주의사항 필수

  • 구독 상품을 결제할 수있는 모든 화면에서는 구독에 대한 상세 내용을 추가하여 유저가 확인할 수 있도록 해야함
  • 포함되어야하는 상세 내용은 Google Play 개발자 정책 참고

운영시 이슈 사항 해결하기

Google구독 취소/환불

  • Google Play Console(https://play.google.com) > 주문 관리”에서 환불 처리시 설정 조건에 따라 구독 결과가 달라짐
    • 환불만 진행하고 취소(revoke)체크 하지 않았을 경우 : 해당 회차의 돈만 환불되며 구독 만료일은 계속 유지됨 , 구독 취소(cancel)하지 않을 경우 다음 회차는 자동 결제됨
      • 환불만 체크해서 환불 했다면 만료일 전에는 재구매가 불가능하며 이때는 “Play Store > 정기 결제”에서 해당 구독을 재활성화 하면 다음달 자동 결제됨
    • 환불 및 취소(revoke)를 체크할 경우 : 해당 회차의 돈이 환불되며 기존 구매시 받았던 영수증으로 영수증 검증시 해당 구독의 만료일이 취소된 시간으로 변경됨 restore할 경우 영수증이 마켓에서 전달되지 않으며 구독 취소(cancel)까지 자동처리되어 다음회차 자동결제가 진행되지 않음 , 즉시 구독 재구매 가능함

정해진 구독기간을 임의로 연장

  • Google마켓 콘솔 개발자API를 통해서 가능하나, Apple은 해당 기능을 제공하지 않기때문에 권장하지 않음

 

서비스 확장하기

유저의 구독율을 높이고, 꾸준히 유지하도록 마켓 콘솔에서 제공하는 다양한 프로모션을 사용할 수 있습니다. 이때 다음과 같은 상황을 주의해야합니다. 

  • 무료 체험
    • 동일 상품에 한해, 무료 체험1회 제공
    • 무료체험 중복을 방지하기 위해 무료체험용 PID를 별도 생성
      • 마켓 계정을 바꿔가며, 무료체험만 하는 체리픽커를 방지하기위해, 게임계정 기준으로 무료체험을 이용한 유저는 더이상 무료체험이 포함된 구독상품 노출을 하지 않는것

참고사항- Apple과 Google의 구독  차이점 

구독 상품의 구성은 Google과 Apple 마켓간의 차이를 고려하여 동일하게 설정하는 것을 권장합니다.  

Google Apple
그룹 유무 그룹 개념이 없어, 업그레이드, 다운그레이드, 크로스 그레이드 자유로움 – 마켓 콘솔에서 구독 상품의 그룹을 정의하고, 동일한 구독 그룹 내에서 상품을 변경 

– 유저는 하나의 구독 그룹 내 하나의 상품만 구독 가능

상품 변경 – 이전 구독 상품의 잔여 기간 및 구독 금액에 따라 새로운 구독 상품의 만료 기간에 일할 계산

– 게임에서 구독 중인것과 변경할 것을 Hive SDK API로 전달

– 업그레이드 : 새로운 구독 상품의 만료 기간에 이전 구독 상품의 잔여 기간 가치 만큼 일할 계산

– 다운그레이드 : 이전 구독 상품의 기간이 만료된 후 새 상품으로 구독 갱신

– 마켓 콘솔에서 관리

구독기간 주간, 월간, 3개월, 6개월, 연간 주간, 월간, 2개월(권장하지 않음), 3개월, 6개월, 연간
  • 구독 기간 : 최초 구매 시작일(날짜, 시간)을 기준으로 자동 갱신 
  • 상품 변경 예시
    • 일반적으로 상품의 가치는 상품 금액에 비례하여 설정하도록 함
    • 업그레이드 : 현재 구독 중인 상품의 가치보다 높은 가치의 상품으로 변경하는 것
    • 크로스그레이드 : 현재 구독 중인 상품과 동일한 가치의 상품으로 변경하는 것
    • 다운그레이드 : 현재 구독 중인 상품의 가치보다 낮은 가치의 상품으로 변경하는 것

구독 개발 가이드는 이곳을 확인하세요.