안드로이드 앱에서 구독상품 결제를 구현하면서 결제 상태 변경 시 '실시간 개발자 알림' 구현을 위해 작성하는 가이드이다.

 

Google Play Developer API는 Android에서 Google Play 결제 라이브러리를 보완하는 서버 간 API입니다.
이 API는 구매를 안전하게 인증하고 사용자에게 환불을 처리해 주는 등 Google Play 결제 라이브러리에서는 사용할 수 없는 기능을 제공합니다.

 

먼저, Google Play Developer API 프로젝트를 생성하고 연결한다. (가이드 참고)

  • 소유자 계정으로 Google Play Console에 로그인 한다.
  • 설정 > API 액세스 로 이동한다.

 

실시간 개발자 알림 구성

실시간 개발자 알림(RTDN)은 앱 내에서 사용자의 자격이 변경될 때마다 Google의 알림을 수신하는 메커니즘입니다. RTDN은 
Google Cloud Pub/Sub를 활용합니다. 이를 통해 설정된 URL로 푸시되거나 클라이언트 라이브러리를 사용하여 폴링되는 데이터를 수신할 수 있습니다. 이러한 알림을 사용하면 Google Play Developer API를 폴링할 필요 없이 정기 결제 상태 변경에 즉시 대응할 수 있습니다. Google Play Developer API를 비효율적으로 사용하면 API 할당량 제한이 초래될 수 있습니다.

 

아래에서 GCP의 Pub/Sub을 구성하고 Google Play Console의 앱과 연결하는 방법을 알아본다.

1. Cloud Pub/Sub 설정

GCP의 Pub/Sub 서비스를 생성한다. (Pub/Sub 아키텍처를 모른다면 참고)

계정과 프로젝트는 어떤 것에 해도 상관은 없지만, 가급적이면 Google Play Console의 API 액세스에 연결된 프로젝트에 구성하는게 좋겠다.

https://console.cloud.google.com/cloudpubsub

 

  1. 주제(Topic)를 만든다.
    https://cloud.google.com/pubsub/docs/publish-receive-messages-console?hl=ko#create_a_topic
  2. 주제에 게시 권한을 부여한다.(참고)
    Cloud Pub/Sub를 사용하려면 주제에 알림을 게시하는 권한을 Google Play에 부여해야 한다.
  3. 구독을 생성 및 추가한다.

주제 만들기와 구독 추가, 그리고 실행해 보는 방법 참고 https://cloud.google.com/pubsub/docs/publish-receive-messages-console?hl=ko#create_a_topic

 

2. 앱에 실시간 개발자 알림 사용 설정

    1. Google Play Console을 엽니다.
    2. 앱을 선택합니다.
    3. 수익 창출 > 수익 창출 설정으로 이동합니다.
    4. 페이지 상단의 실시간 개발자 알림 섹션으로 스크롤합니다.

  1. 주제 이름 입력란에 이전에 구성한 전체 Cloud Pub/Sub 주제 이름을 입력합니다. 주제 이름의 형식은 projects/{project_id}/topics/{topic_name}이어야 합니다. 여기에서 project_id는 프로젝트의 고유 식별자이고 topic_name은 이전에 만든 주제의 이름입니다.
  2. 테스트 알림 보내기를 클릭하여 테스트 메시지를 보냅니다. 테스트 게시를 실행하면 모두 제대로 설정되고 구성되었는지 확인할 수 있습니다. 테스트 게시에 성공하면 테스트 게시에 성공했다는 메시지가 표시됩니다. 이 주제의 정기 결제에 연결했다면 테스트 메시지를 받아야 합니다.게시에 실패하면 오류가 표시됩니다. 주제 이름이 올바르고 google-play-developer-notifications@system.gserviceaccount.com 서비스 계정이 주제에 대한 Pub/Sub 게시자 액세스 권한을 보유하고 있는지 확인하세요.
  3. 풀 정기 결제의 경우 Cloud Console에서 정기 결제로 이동하고 메시지 보기를 클릭한 다음 메시지 가져오기를 진행합니다. Cloud Pub/Sub의 반복 전송을 방지하기 위해 가져온 모든 메시지를 확인해야 합니다. 푸시 정기 결제의 경우 테스트 메시지가 푸시 엔드포인트로 전달되었는지 확인합니다. 성공하는 경우 응답 코드가 메시지 확인 역할을 합니다.
  4. 변경사항 저장을 클릭합니다.

 

다음 단계

 

 

[참고] https://developer.android.google.cn/google/play/billing/getting-ready?hl=ko#dev-api

 

준비하기  |  Google Play 결제 시스템  |  Android Developers

참고: 이 주제를 읽기 전에 먼저 Play Console 고객센터 문서를 읽어야 합니다. 문서에서는 중요한 구매 관련 개념과 더불어 판매용 제품을 만들고 구성하는 방법을 설명합니다. 이 주제에서는 앱에

developer.android.google.cn

 

+ Recent posts