protected override void Initialize(string[] productIds, InitializatedDelegate onInitialized, InitializationFailedDelegate onFailed) { if (productIds == null || productIds.Length == 0) throw new ArgumentException("InAppPurchaseManager: At least one product id is required."); try { IsInitalized = false; RequestProductInformation(productIds, (products, invalidProductIds) => { foreach (var product in products) { productDictionary[product.ProductId] = product; } foreach (var id in invalidProductIds) { Console.WriteLine("InAppPurchaseManager: Product id '{0}' is not valid.", id); productDictionary[id] = new InvalidProductInformation(id); } if (productDictionary.Count == 0) { OnInitializationFailed(new Exception("InAppPurchaseManager: There are not valid products.")); } else { IsInitalized = true; if (onInitialized != null) onInitialized(); } }, ex => { if (onFailed != null) onFailed(ex); }); } catch (Exception ex) { Console.WriteLine(ex.ToString()); if (onFailed != null) { onFailed(new InAppPurchaseException("Error initializing products.", 0, ex)); } } }
protected override void Initialize(string[] productIds, InitializatedDelegate onInitialized, InitializationFailedDelegate onFailed) { if (productIds == null || productIds.Length == 0) throw new ArgumentException("InAppPurchaseManager: At least one product id is required."); throw new NotImplementedException(); }
protected abstract void Initialize(string[] productIds, InitializatedDelegate onInitialized, InitializationFailedDelegate onFailed);