Google Play Purchase History.json 설명
Purchase History.json은 Google Play Takeout 내보내기의 핵심 파일입니다. 무엇을 언제 획득했는지 기계가 읽을 수 있는 목록으로 담습니다. 이 페이지에서는 이 파일의 역할과 일반적인 구조를 설명하며, 보장 범위에 관한 중요한 주의점도 함께 다룹니다.
먼저 주의점: 공개된 스키마가 없습니다
Google은 Play Takeout 파일에 대한 공식 버전 관리 스키마를 공개하지 않습니다. 아래 내용은 실제 내보내기에서 관찰한 구조, 즉 저희가 확인한 파일과 커뮤니티에서 문서화한 사례를 설명합니다. 필드는 계정, 콘텐츠 유형, 시기에 따라 달라질 수 있고 Google이 예고 없이 변경할 수도 있습니다. 여기의 표현은 항상 “일반적으로 있음”이지 “계약상 보장됨”이 아닙니다.
이 파일의 용도
내보내기의 Google Play Store 폴더에서 Purchase History.json은 획득 기록을 담습니다. 받은 앱과 게임, 인앱 구매, 시작한 구독 등이 여기에 해당합니다. 즉 무엇을 언제에 초점을 둡니다. 얼마를에 해당하는 정보는 보통 형제 파일인 Order History.json에 있으며, 이 파일은 금액, 통화, 결제 및 환불 관련 필드를 포함하는 거래 원장 역할을 합니다.
일반적인 구조
파일은 레코드의 JSON 배열입니다. 각 레코드는 하나의 획득 항목을 설명하며 일반적으로 다음 정보를 담습니다.
- 문서 설명: 항목 제목과, 종종 Android 앱인지 다른 콘텐츠인지 구분하는 유형.
- 구매 시각: 해당 항목을 획득한 시점.
- 구매 유형: 예를 들어 앱 구매, 인앱 구매, 구독을 구분하는 값.
가격과 결제 세부 정보는 보통 이 파일에 없고 Order History가 담당합니다. 두 파일을 연결해야 하나의 구매에 대해 “이름 + 날짜 + 가격”을 얻을 수 있습니다.
가상의 예시
아래 예시는 설명을 위해 만든 가상 데이터입니다. 실제 사용자 데이터가 아니며 단순화한 형태일 뿐 필드 이름을 보장하지 않습니다. 실제 내보내기는 항목이 중첩되거나 이름이 다를 수 있습니다.
[
{
"purchase": {
"document": {
"type": "Android App",
"title": "Example Launcher (fictional)"
},
"purchaseTime": "2019-04-12T14:23:00Z",
"purchaseType": "App"
}
},
{
"purchase": {
"document": {
"type": "In-app item",
"title": "Example Game - Coin Pack (fictional)"
},
"purchaseTime": "2021-11-02T09:05:00Z",
"purchaseType": "In-app purchase"
}
}
]
앱, 인앱 구매, 구독
실제 내보내기에서 관찰한 구매 유형 정보는 사람들이 주로 구분하고 싶어 하는 세 가지 큰 범주를 나누는 데 쓰입니다.
| 범주 | 레코드가 나타내는 것 | 주의할 점 |
|---|---|---|
| 앱 & 게임 | 앱 또는 게임을 한 번 획득한 기록(유료 또는 무료) | 무료 앱도 나타날 수 있습니다. 획득 ≠ 결제입니다. |
| 인앱 구매 | 앱 내부에서 구매한 항목 | 레코드에는 항목 이름이 나오지만 상위 앱은 제목에서 추정해야 할 수 있습니다. |
| 구독 | 구독 관련 이벤트 | 갱신과 최초 구독이 서로 다르게 기록될 수 있습니다. 금액은 Order History에서 확인하세요. |
뷰어가 무시해야 할 필드
Order History.json에는 결제 수단 관련 필드가 들어 있을 수 있습니다. 올바르게 설계된 뷰어나 파서는 처리 중 이 필드를 버려야 합니다. 표시하지도 저장하지도 않아야 합니다. 유용한 내역은 “무엇을, 언제, 얼마에”입니다. 카드 세부 정보는 여기에 도움이 되지 않고 위험만 늘립니다.
공유할 때도 같은 원칙이 적용됩니다. 구매 내역은 개인 데이터입니다. 내보내기는 로컬에 보관하고 업로드를 요구하는 도구는 주의해서 판단하세요.
JSON 처리는 저희가 맡습니다.
App Purchase Vault는 Android 베타입니다. ZIP을 선택하면 검색 가능한 보관함이 만들어집니다. 기기 내에서만 처리됩니다.