Google Play Developer API

Google Play Developer API는 게시 및 앱 관리 작업을 수행하기 위해 사용할 수 있는 REST 기반 웹 서비스입니다. 이 API를 사용하여 게시 작업을 릴리스 관리 프로세스와 통합할 수 있습니다.

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

Google Play Developer API를 사용하면 다음을 비롯한 다양한 앱 관리 작업을 자동화할 수 있습니다.

  • 앱의 새 버전 업로드 및 출시
  • 현지화된 텍스트 및 그래픽을 포함한 앱 Google Play 스토어 목록 편집
  • 인앱 상품 카탈로그, 상품 구매 상태 및 앱 구독 관리

Google Play Developer API를 사용하면 앱을 디자인하고 개발하는 데 주력할 수 있으며, 새로운 시장으로 확장할 때 출시를 관리하는 데 드는 시간과 노력을 줄일 수 있습니다.

Google Play Developer API에는 다음 두 가지 구성 요소가 포함됩니다.

  • Publishing API를 사용하면 앱을 업로드 및 게시하고 기타 게시 관련 작업을 수행할 수 있습니다.
  • Subscriptions and In-App Purchases API를 사용하면 인앱 구매와 구독을 관리할 수 있습니다. 이전 이름은 'Purchase Status API'입니다.

Publishing API

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

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

이러한 작업은 변경을 수행할 때 트랜잭션 접근 방식을 취하는 편집 기능을 사용하여 수행됩니다. 즉, 여러 가지 변경 사항을 단 하나의 초안 편집으로 묶은 다음, 모든 변경 사항을 한 번에 커밋합니다. (편집을 커밋해야 변경 사항이 적용됩니다.)

참고: 모든 개발자가 이 API를 사용할 필요는 없습니다. API에서 제공하는 모든 기능은 Google Play Console을 통해서도 사용할 수 있습니다 하지만 이 API를 사용하면 앱 및 목록 업데이트 프로세스를 기존 도구와 통합할 수 있으므로 어떤 개발자에게는 매우 유용할 것입니다. 특히, 관리할 APK 수가 많거나 목록이 여러 다른 언어로 현지화되어 있는 경우 이 API가 더욱 유용할 수 있습니다.

Subscriptions and In-App Purchases API

이 API를 사용하면 인앱 상품과 구독으로 구성된 앱의 카탈로그를 관리할 수 있습니다. 그 밖에도, Subscriptions and In-App Purchases API에서는 표준 GET 요청을 사용하여 어떤 구매의 세부정보라도 빠르게 검색할 수 있습니다. 앱 패키지 이름, 구매 또는 구독 ID, 구매 토큰과 같은 구매 정보를 요청에서 제공합니다. 서버는 관련 구매 세부정보, 주문 상태, 개발자 페이로드 및 기타 정보를 설명하는 JSON 객체로 응답합니다.

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

참고: Subscriptions and In-App Purchases API는 Publishing API에서 사용되는 새로운 트랜잭션 'edits' 기능을 사용하지 않습니다. Inappproducts, Purchases.productsPurchases.subscriptions 리소스의 메서드는 즉시 적용됩니다. 각 리소스의 API 참조 페이지에는 리소스의 메서드가 'edits' 모델을 사용하는지 구체적으로 표시됩니다.

Purchase Status API는 Google Developers Console을 통해 사용할 수 있는 Google Play Developer API v. 2.0의 일부입니다.

API 사용

API 호출을 시작하려면 Google Play Console에서 직접 Google Play Developer API를 설정하고 관리해야 합니다. 이 API는 Google Play 개발자 계정 소유자만 관리할 수 있습니다.

이 API에 액세스하려면 다음 절차를 따르세요.

  1. 신규 또는 기존 API 프로젝트 설정
  2. 하나 이상의 인증된 클라이언트 설정(다음 중 하나일 수 있음):

전체 내용을 자세히 알아보려면 Google Play Developer API 시작하기 페이지를 참조하세요.

단계적 편집

Google Play Developer Publishing API Edits 메서드를 사용하면 Google Play 앱에 대한 변경 내용을 준비하고 커밋할 수 있습니다. 업데이트가 준비되면 단일 작업으로 배포할 수 있습니다. 다음과 같은 사항을 변경할 수 있습니다.

  • 하나 이상의 APK 업로드
  • 다양한 '트랙'에 다양한 APK 할당: 알파, 베타, 단계적 출시, 프로덕션
  • 앱용으로 현지화된 스토어 목록 생성 및 수정
  • 앱의 스토어 목록을 위한 스크린샷과 기타 이미지 업로드

원하는 모든 변경 사항이 준비되었으면 모두 단일 작업으로 커밋됩니다.

단계적 편집에 대한 전체 내용을 자세히 알아보려면 Google Play Developer API Edits 페이지를 참조하세요.

참고: 새로운 트랜잭션 'edits' 기능은 Publishing API에서만 사용됩니다. Subscriptions and In-App Purchases API의 메서드는 즉시 적용됩니다. 각 리소스의 API 참조 페이지에는 리소스의 메서드가 'edits' 모델을 사용하는지 구체적으로 표시됩니다.

API의 효율적인 사용

Google Play Developer API를 사용하는 모든 애플리케이션에 적합한 고성능 환경을 보장하기 위해 이 API에 대한 액세스는 적절히 조절됩니다(할당량에 설명되어 있음). 애플리케이션에 대한 일일 할당량을 더 많이 요청할 수 있지만, 반드시 다음과 같은 기법을 사용해 액세스를 최소화하는 것이 좋습니다.

  • 앱 업데이트 횟수 제한 - 알파 및 베타 업데이트를 하루에 한 번을 초과하여 게시하지 않습니다. 프로덕션 앱의 업데이트 횟수는 그보다도 더 적어야 합니다. 업데이트할 때마다 사용자가 시간을 들여야 하며 비용이 들 수도 있습니다. 너무 자주 업데이트하면 사용자가 업데이트를 무시하기 시작하거나, 심지어 앱을 제거해버릴 수도 있습니다. 물론 앱에 중대한 문제가 있다면 바로 문제를 해결해야 합니다.
  • 새로운 구매에 대해서만 Purchase Status API 쿼리 - 구매 시 앱이 백엔드 서버로 구매 토큰과 기타 세부정보를 전달할 수 있으며, 이를 통해 백엔드 서버는 Purchase Status API를 사용해 구매를 확인할 수 있습니다.
  • 서버에 대한 구매 세부정보 캐시 - 가능한 한 백엔드 서버에서 인앱 상품 및 구독에 대한 세부정보를 캐시합니다. 앱이 런타임에 백엔드 서버에 접속하여 구매 유효성을 확인하는 경우, 서버는 캐시된 세부정보를 바탕으로 구매를 확인하여 Purchase Status API의 사용을 최소화하고 사용자에게 최대한 가장 빠른 응답과 최상의 환경을 제공할 수 있습니다.
  • 서버에 구독 만료 저장 - 서버가 Purchase Status API를 사용하여 새 구독 토큰에 대한 만료일을 쿼리한 다음 로컬에 저장해야 합니다. 이렇게 하면 만료 시 또는 만료 후에만 구독 상태를 확인할 수 있습니다(아래 참조).
  • 만료 시에만 구독 상태 쿼리 - 서버는 구독 토큰의 만료일을 검색했으면 구독 만료일 당일 또는 만료일이 지날 때까지 Google Play 서버에 구독 상태를 다시 쿼리해서는 안 됩니다. 일반적으로, 서버는 매일 일괄적으로 쿼리를 실행하여 만료되는 구독의 상태를 확인한 후 데이터베이스를 업데이트합니다. 다음 사항을 참고하세요.
    • 서버가 매일 모든 구독을 쿼리하면 안 됩니다.
    • 서버가 Android 애플리케이션의 개별 요청을 바탕으로 구독 상태를 동적으로 쿼리하면 안 됩니다.

이런 일반적인 가이드라인을 따르면 구현된 앱이 사용자 입장에서 가능한 최상의 성능을 제공할 것입니다.

할당량

Google Play Developer API를 사용하는 애플리케이션은 초기에 허용되는 사용 할당량이 매일 200,000개 요청(애플리케이션당)으로 제한됩니다. 이 정도면 게시 활동과 일반적인 구독-유효성 검사 요구를 충족시키기에 충분한 액세스 성능이 제공될 것입니다.

애플리케이션의 한도를 더 높여야 하는 경우 Google Developers Console의 할당량 창에서 '추가 요청' 링크를 사용하세요.