기술 자료

​
​

Development

User Acquisition

Monetization

산업 분야

In-App Purchasing

IAP 클라이언트 API

IAP SDK API

웹숍 관리자 API

웹숍 클라이언트 API

In-App Purchasing

LiveOps
​
​
시작하기
  • 개요
  • IAP 소개
  • IAP v5의 새로운 사항
  • IAP v4에서 v5로 업그레이드
소비자 (D2C)에 대한 직접 결제
  • 소비자 (D2C) 결제 제공업체에게 직접 제공
웹숍
  • 개요
  • 시작하기
  • 빌드 및 퍼블리시
  • 구성
  • 게임에 연결
  • 관리자
  • 웹숍 문제 해결
플랫폼 네이티브 스토어
  • 플랫폼 네이티브 스토어에 대한 IAP 설정
  • 코드리스 IAP
카탈로그 및 스토어 관리
  • 제품 카탈로그 생성
    • 카탈로그 및 카탈로그 리스트
    • 카탈로그 스키마
    • 에디터에서 카탈로그 생성
    • IAP 카탈로그 창 참조
    • 프로그래밍 방식으로 카탈로그 만들기
    • 원격 카탈로그 생성
    • 대시보드에서 카탈로그 관리
    • 코드리스 IAP
    • 스토어
    • Purchases
    • 영수증 확인
    • 구매 복원
  • 지원되는 스토어
  • 레퍼런스
Purchases
  • 구매 관리 및 이행
    • Purchases
    • 영수증 확인
    • 구매 복원
    • SubscriptionInfo 클래스 레퍼런스
IAP 성능 모니터링
  • 개요
  • IAP 수익 성과
  • D2C 성능
개인정보
  • 개인정보 보호 및 동의
  1. Unity 인앱 구매

구매 복원

플레이어가 앱을 다시 설치하거나 디바이스를 전환할 때 이전에 소유한 제품 및 구독에 다시 액세스할 수 있습니다.
읽는 시간 1분
최근 업데이트: 2달 전

Restore purchases 기능을 사용하면 플레이어가 다시 지불하지 않고도 이전에 소유한 비소모품 제품과 활성 재생 가능 구독에 액세스할 수 있습니다. 앱 스토어는 이러한 권한에 대한 영구적인 기록을 유지하며, Unity IAP는 이러한 권한을 가져와 액세스 권한을 부여할 수 있습니다.
Apple 플랫폼에서 갱신되지 않는 구독은 복원할 수 없습니다. Apple에서 갱신되지 않는 구독을 사용하는 경우 자체 구독 기록을 유지하고 여러 기기에서 자격을 동기화해야 합니다.

Google Play

  • 재설치 후 Unity IAP는 첫 번째
    StoreController.FetchPurchases()
    호출 시 소유 제품을 복원합니다.
  • IAP는 모든 구매(모든 상태)를 포함하는
    Orders
    객체를 사용하여
    OnPurchasesFetched
    리스너를 호출합니다.
  • PurchaseService.ProcessPendingOrdersOnPurchasesFetched
    설정을 true로 설정하면 IAP는 실행되지 않은 각 구매에 대해
    OnPurchasePending
    리스너를 호출합니다.
  • 동일한 세션에서 후속
    FetchPurchases()
    호출은 개발자가 동일한 세션에서 이미 확인한 주문에 대한
    OnPurchasePending
    를 트리거하지 않습니다.

Apple 플랫폼

  • Restore Purchases 버튼을 제공해야 합니다(Apple에서 필수).
  • 버튼은 트랜잭션을 재동기화하기 위해 Apple에서 트랜잭션 재동기화를 요청하는
    PurchaseService.RestoreTransactions
    를 호출하며 사용자에게 인증을 표시할 수 있습니다.
  • 재동기화 후 Unity IAP는 사용자의 모든 거래와 함께
    FetchPurchases
    를 호출하고
    OnPurchasesFetched
    를 호출합니다.

구매 복원(Apple 플랫폼)

void RestorePurchases() { UnityIAPServices.StoreController().RestoreTransactions((success, error) => { if (success) { // This does not mean anything was restored, // merely that the restoration process succeeded. } else { // Restoration failed. `error`에는 실패 사유가 포함되어 있습니다. } }); }

Copyright © 2026 Unity Technologies
법률 정보개인정보 처리방침쿠키Documentation Terms of Use개인 정보 판매 또는 공유 금지개인정보 보호 선택(쿠키 설정)

'Unity', Unity 로고 및 기타 Unity 상표는 미국 및 기타 지역 내 Unity Technologies 또는 그 계열사의 상표 또는 등록상표입니다(자세한 내용은 여기에서 확인하세요). 기타 명칭 또는 브랜드는 해당 소유자의 상표입니다.

일부 페이지는 편의를 위해 기계 번역되었으며 부정확한 내용이 있을 수 있습니다. 정보가 상충되는 경우, 영어 버전을 우선으로 참조하세요.

  • 보고 있는 페이지
    • Google Play

    • Apple 플랫폼

      • 구매 복원(Apple 플랫폼)


이 페이지의 문제 보고