/// <summary> /// Do the callback for delegate: IAP.OnRestoredHandler /// </summary> private static void DoOnRestoreComplete(bool result, IAPFail fail) { if (onRestoreComplete != null) { onRestoreComplete(result, fail); } onRestoreComplete = null; }
/// <summary> /// Restores non-consumable / subscription purchases. /// </summary> public static void RestorePurchases(IAP.OnRestoredHandler callback) { onRestoreComplete = callback; if (!IsInitialized) { DoOnRestoreComplete(false, new IAPFail(IAPFail.Reason.NotInitialized)); return; } if (!IAP.IsRestoreSupported) { DoOnRestoreComplete(false, new IAPFail(IAPFail.Reason.PlatformNotSupported)); return; } ProductRestorer = new Restorer(() => { IAP.LogMessage("IAPManager.OnTimerFinished - Restore completed."); DoOnRestoreComplete(true, null); }); ProductRestorer.Start(); }