When a user reinstalls your application they should be granted any Non-Consumable or Subscription products they already own. App stores maintain a permanent record of each user’s Non-Consumable and Subscription products which Unity IAP can retrieve.
Google Play나 유니버셜 Windows 애플리케이션과 같이, 이 기능을 지원하는 플랫폼에서는 Unity IAP가 재설치 이후 첫 초기화 단계에서 사용자가 소유하는 모든 품목을 자동으로 복원합니다. 각 소유 중인 품목에 대해 IStoreListener
의 ProcessPurchase
메서드가 호출됩니다.
Apple 플랫폼의 경우 사용자가 비밀번호를 입력해야만 이전 거래 내역을 검색해서 가져올 수 있으므로 애플리케이션 내에 해당 과정을 진행할 수 있는 버튼이 제공되어야 합니다. 이 과정 동안 IStoreListener
의 ProcessPurchase
메서드가 사용자가 소유하고 있는 각각의 항목에 대해 호출됩니다.
/// <summary>
/// Your IStoreListener implementation of OnInitialized.
/// </summary>
public void OnInitialized(IStoreController controller, IExtensionProvider extensions)
{
extensions.GetExtension<IAppleExtensions> ().RestoreTransactions (result => {
if (result) {
// This does not mean anything was restored,
// merely that the restoration process succeeded.
} else {
// Restoration failed.
}
});
}