구매 복원
플레이어가 앱을 다시 설치하거나 디바이스를 전환할 때 이전에 소유한 제품 및 구독에 다시 액세스할 수 있습니다.
읽는 시간 1분최근 업데이트: 9일 전
Restore purchases 기능을 사용하면 플레이어가 다시 지불하지 않고도 이전에 소유한 비소모품 제품과 활성 재생 가능 구독에 액세스할 수 있습니다. 앱 스토어는 이러한 권한에 대한 영구적인 기록을 유지하며, Unity IAP는 이러한 권한을 가져와 액세스 권한을 부여할 수 있습니다. Apple 플랫폼에서 갱신되지 않는 구독은 복원할 수 없습니다. Apple에서 갱신되지 않는 구독을 사용하는 경우 자체 구독 기록을 유지하고 여러 기기에서 자격을 동기화해야 합니다.
Google Play
- 재설치 후 Unity IAP는 첫 번째 호출 시 소유 제품을 복원합니다.
StoreController.FetchPurchases() - IAP는 모든 구매(모든 상태)를 포함하는 객체를 사용하여
Orders리스너를 호출합니다.OnPurchasesFetched - 설정을 true로 설정하면 IAP는 실행되지 않은 각 구매에 대해
PurchaseService.ProcessPendingOrdersOnPurchasesFetched리스너를 호출합니다.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`에는 실패 사유가 포함되어 있습니다. } }); }