빌링 개발 연동
게임 개발 스튜디오에서 빌링 결제 기능을 구현하는 과정에서 실수할 수 있는 부분에 대한 체크리스트입니다.
1. 기본 설명
빌링을 게임에 연동하는 과정에서 놓칠 수 있는 부분에 대한 간단한 체크리스트입니다.
개발을 위한 모든 내용이 포함되어 있지는 않습니다. 상세 내용은 SDK 및 서버 API 상세 가이드 등을 참고하세요.
2. 체크리스트
전체 공통
구매 복구 기능이 준비되어 있는지?
시퀀스 중 구글 또는 애플 장애 발생 등을 대응하기 위한 준비
API 등 외부 호출 과정에서 네트워크 오류 등이 발생하면 Jitter 기반의 Backoff를 이용해서 재시도 구현(참고 링크)
인게임 상점 진입시 트랜잭션 재 시도 또는 복구 기능 버튼을 설정 등의 메뉴에 위치
클라이언트(with SDK)
GetProduct()로 상품 조회 후 등록되지 않은 상품에 대해서 QueryProductDetails 호출하는지?
QueryProductDetails은 스토어에 상품정보를 요청하는 것으로 네트워크 트래픽 사용
GetProduct은 QueryProductDetails으로 조회한 상품 정보 캐시
재 로그인 후에 빌링플랫폼 PreInit을 변경된 계정 정보와 함께 호출하는지?
다른 계정으로 로그인 대비
빌링플랫폼 PreInit 후 게임 플레이 가능한 상태로 진행한 경우 구매복구 요청하는지?
결제 후 수신한 영수증 정보를 게임서버에 구매 완료 요청한 후 수신한 결과 SDK에 알려주는지?
OnCompletedPurchase(true or false)
결제 어뷰징 건으로 자동제재된 경우 로그인 시 서비스 이용 제재 팝업이 정상 노출하는지?
결제 어뷰징 자동 제재 기능을 사용하는 경우에만 해당
스팀 결제(게임서버)
API 호출 타임아웃은 최소 30초로 설정 하였는지?
스팀 API는 매우 느린 경우가 종종 발생하여 랩핑해서 기능을 제공하는 빌링 API도 느린 경우가 발생할 수 있음
애플 결제(게임서버)
영수증 검증 API의 타임아웃은 최소 15초로 설정하였는지?
애플 API가 느리기 때문에 발생하는 타임아웃 대비
애플 결제(클라이언트)
구매 복구 과정에서 수신한 영수증으로 게임서버에게 구매 완료를 요청할 때, 게임서버로부터 이미 지급한 구매건으로 결과를 수신한 경우 OnCompletedPurchase(true)로 호출하여 미처리 구매건을 완료처리하는지?
Last updated