Google Play Developer API

개요

Google Play Console은 앱에 직접 게시, 보고, 기타 앱 관리 기능을 실행할 수 있는 REST 기반 웹 서비스 API 모음을 제공합니다.

모든 개발자가 이러한 개발자 API를 사용할 필요는 없지만, 대부분의 경우 Google Play Console을 사용하여 직접 앱을 관리할 수 있습니다. 하지만 관리해야 할 APK가 많거나 사용자 구매 및 정기 결제를 추적해야 하는 경우 이러한 API가 유용할 수 있습니다.

포함된 항목

Google Play Developer API를 사용하면 앱을 설계하고 개발하는 데 집중하면서 새로운 시장으로 확장할 때 버전 관리에 드는 시간과 노력을 줄일 수 있습니다.

Google Play Console에는 앱을 관리하는 데 사용할 수 있는 API 모음이 포함되어 있습니다.

  • Publishing API: 앱을 업로드 및 게시할 수 있고 기타 게시 관련 작업을 실행할 수 있습니다.
  • Subscriptions 및 In-App Purchases API: 인앱 구매와 정기 결제를 관리할 수 있습니다. (이전에는 'Purchase Status API'라고 함)
  • Reporting API: Android vitals에서 앱 품질에 관한 정보를 검색할 수 있습니다.
  • Reply to Reviews API: 앱 리뷰를 검색하고 리뷰에 답할 수 있습니다.
  • Permissions API: Play Console 내에서 권한 관리를 자동화할 수 있습니다.
  • Play Games Services Management API: Google Play 게임즈 서비스 기능의 기반이 되는 메타데이터를 프로그래매틱 방식으로 제어하는 REST 호출을 실행할 수 있습니다.
  • Voided Purchases API: 사용자가 무효화한 구매와 관련된 주문 목록을 제공합니다.

시작하기

Google Play Developer API를 시작하려면 시작하기 문서를 참고하세요.

Publishing API

Publishing API를 사용하면 앱 배포와 관련하여 자주 실행하는 작업을 자동화할 수 있습니다. 이 API는 다음과 같이 Play Console을 통해 개발자가 사용할 수 있는 기능과 유사한 기능을 제공합니다.

  • 앱의 새 버전 업로드
  • APK를 다양한 트랙(알파, 베타, 단계적 출시 또는 프로덕션)에 할당하여 앱 출시
  • 현지화된 텍스트와 그래픽 및 다중 기기 스크린샷을 포함한 Google Play 스토어 등록정보 생성 및 수정

이러한 작업은 변경할 때 트랜잭션 접근 방식을 취하는 edits 기능을 사용하여 실행됩니다. 이렇게 하면 여러 변경사항을 하나의 임시 edit으로 묶은 다음 모든 변경사항을 한 번에 커밋할 수 있습니다. (edit을 커밋해야 변경사항이 적용됩니다.)

권장사항

  • 앱 업데이트 수를 제한합니다. 알파 또는 베타 업데이트를 하루에 두 번 이상 게시하지 않습니다. 프로덕션 앱은 이보다 덜 자주 업데이트해야 합니다. 업데이트할 때마다 사용자가 시간을 들여야 하며 비용이 들 수도 있습니다. 너무 자주 업데이트하면 사용자가 업데이트를 무시하기 시작하거나, 심지어 제품을 제거해버릴 수도 있습니다.

Subscriptions 및 In-App Purchases API

Subscriptions 및 In-App Purchases API를 사용하면 앱의 인앱 상품 및 정기 결제 카탈로그를 관리할 수 있습니다. 그 밖에도 Subscriptions 및 In-App Purchases API로 표준 GET 요청을 사용하여 구매의 세부정보를 빠르게 검색할 수 있습니다.

앱 패키지 이름, 구매 또는 정기 결제 ID, 구매 토큰과 같은 구매 정보를 요청에 제공합니다. 서버는 관련 구매 세부정보, 주문 상태, 개발자 페이로드 및 기타 정보를 설명하는 JSON 객체로 응답합니다.

개별 주문의 보고 및 조정과 구매 및 정기 결제 만료 확인 등 여러 가지 방법으로 이 API를 사용할 수 있습니다. 또한 이 API를 사용하면 취소된 주문에 관해 알아볼 수 있으며, 인앱 상품이 취소되기 전에 소비되었는지를 포함해 인앱 상품의 소비 여부도 확인할 수 있습니다.

권장사항

  • 불필요한 API 호출을 방지하려면 서버에 정기 결제 정보를 저장합니다. 앱에서 정기 결제를 확인해야 하는 경우 Google에 API를 반복해서 호출하는 대신 서버에 캐시된 정보를 사용해야 합니다.
  • 보안 서버에서 Google Play Developer API를 사용하여 정기 결제 정보를 가져와야 하는 경우 다음과 같은 두 가지 시나리오가 있습니다.
    • 서버에서 전에 보이지 않던 새 구매 토큰을 수신합니다.
    • 서버에서 실시간 개발자 알림(RTDN)을 수신하며, 이 알림은 구매 토큰을 사용하여 새 정기 결제 정보를 가져와야 함을 나타냅니다.
  • 정기 결제 상태를 알아보기 위해 API를 정기적으로 폴링하면 안 됩니다. 예를 들어 각 정기 결제를 확인하기 위해 API를 매일 호출하면 안 됩니다.
  • 정기 결제가 만료되거나 갱신될 때 RTDN을 수신하므로 예약된 만료 시간을 기준으로 API 호출을 예약할 필요가 없습니다.

Reporting API

Reporting API는 Play Console 데이터를 기반으로 자동화된 워크플로를 빌드하려는 개발자 또는 내부 비즈니스 보고 및 분석을 위해 Play Console 데이터를 사용하는 개발자를 위한 것입니다(다른 데이터 세트를 함께 사용할 수도 있음). 이렇게 하면 내부 보고, 분석, 자동화를 위한 앱 수준 데이터 및 측정항목에 프로그래매틱 방식으로 액세스할 수 있습니다.

Reporting API를 사용하면 비정상 종료 발생률, ANR 발생률, wake-up 및 wake-lock 문제, 오류 스택 트레이스 등 Android vitals 데이터에 액세스할 수 있습니다.

권장사항

  • 이 Reporting API 버전에 허용되는 기본 제한은 초당 쿼리 10개입니다. Google Cloud 콘솔의 할당량 섹션에서 사용 할당량을 확인할 수 있습니다. 이 한도를 초과해야 하는 경우 이 양식을 사용하여 할당량 요청을 제출하면 됩니다.

Reply to Reviews API

Reply to Reviews API를 사용하면 앱에 관한 사용자 의견을 확인하고 이 의견에 답할 수 있습니다. 이 API를 사용하여 CRM 시스템과 같은 기존 고객 지원 툴킷에서 직접 사용자와 상호작용할 수 있습니다.

Reply to Reviews API를 사용하면 앱의 프로덕션 버전에 관한 의견에만 액세스할 수 있습니다. 앱의 알파 또는 베타 버전에 관한 의견을 보려면 Google Play Console을 사용하세요. 또한 이 API는 의견이 포함된 리뷰만 표시합니다. 사용자가 앱을 평가하지만 의견을 제공하지 않은 경우 API로 의견에 액세스할 수 없습니다.

Permissions API

Permissions API를 사용하면 개발자가 Play Console 내에서 권한 관리를 자동화할 수 있습니다. 이를 통해 수동 확인 없이 개발자 계정에 액세스하려는 사용자를 유연하게 제어할 수 있습니다.

Permissions API를 사용하면 다음과 같은 관리 기능을 실행할 수 있습니다.

  • 사용자가 퇴사하는 경우 사용자 액세스 삭제
  • 사용자가 관련 팀에 참여하는 경우 앱에 액세스할 수 있는 권한 부여

Voided Purchases API

Voided Purchases API는 사용자가 무효화한 구매와 관련된 주문 목록을 제공합니다. 이 목록의 정보를 사용하여 사용자가 무효화한 주문의 제품에 액세스하지 못하도록 하는 취소 시스템을 구현할 수 있습니다.

Voided Purchases API는 일회성 인앱 주문과 앱 정기 결제에 적용됩니다.

구매를 무효화하는 방법은 다음과 같습니다.

  • 사용자가 주문의 환불을 요청합니다.
  • 사용자가 주문을 취소합니다.
  • 주문에 대한 지불이 거절됩니다.
  • 개발자가 주문을 취소하거나 환불합니다. 참고: 취소된 주문만 Voided Purchases API에 표시됩니다. 개발자가 취소 옵션을 설정하지 않고 환불하면 주문이 API에 표시되지 않습니다.
  • Google에서 주문을 취소하거나 환불합니다.

특히, 게임 앱에서는 Voided Purchases API를 사용하여 모든 앱 사용자를 위해 더 균형 있고 공정한 환경을 마련할 수 있습니다.