private async void InitializeData() { ShowInAppPurchasesLoadingView(); var queryResult = await InAppPurchases.GetAllAddons(); if (queryResult.ExtendedError != null) { return; } var addonsList = new List <StoreProduct>(); foreach (KeyValuePair <string, StoreProduct> item in queryResult.Products) { StoreProduct product = item.Value; addonsList.Add(product); } HideInAppPurchasesLoadingView(); UnlocksListView.ItemsSource = addonsList; // TODO: move to check entitlement var res = await InAppPurchases.GetUserAddons(); foreach (KeyValuePair <string, StoreProduct> item in res.Products) { StoreProduct product = item.Value; } }
private async void Purchase(string id) { var result = await InAppPurchases.PurchaseAddon(id); string extendedError = string.Empty; string descriptionError = string.Empty; if (result.ExtendedError != null) { extendedError = "ExtendedError: " + result.ExtendedError.Message; } //var res1 = await InAppPurchases.GetRemainingBalance(id); switch (result.Status) { case StorePurchaseStatus.AlreadyPurchased: descriptionError = App.ResourceLoader.GetString("PurchaseStatusAlreadyPurchased"); //InAppPurchases.ConsumeAddon(id); break; case StorePurchaseStatus.Succeeded: descriptionError = App.ResourceLoader.GetString("PurchaseStatusSucceeded"); //InAppPurchases.ConsumeAddon(id); //var res2 = await InAppPurchases.GetRemainingBalance(id); break; case StorePurchaseStatus.NotPurchased: descriptionError = string.Format("{0}. {1}", App.ResourceLoader.GetString("PurchaseStatusNotPurchased"), extendedError); break; case StorePurchaseStatus.NetworkError: descriptionError = string.Format("{0}. {1}", App.ResourceLoader.GetString("PurchaseStatusNetworkError"), extendedError); break; case StorePurchaseStatus.ServerError: descriptionError = string.Format("{0}. {1}", App.ResourceLoader.GetString("PurchaseStatusServerError"), extendedError); break; default: descriptionError = string.Format("{0}. {1}", App.ResourceLoader.GetString("PurchaseStatusUknownError"), extendedError); break; } DataTransfer.ShowLocalToast(descriptionError); }
public HomePage() { InitializeComponent(); InitializeTitleBar(); InitializeVariables(); InitialzeEvents(); ApplyCommandBarBarFrostedGlass(); ShowUpdateChangelogIfUpdated(); BackgroundTasks.CheckAllTasks(); InAppPurchases.CheckAndUpdatePremiumUser(); }
public static uint GetMaximumCacheSize(this ISettingsService @this) { if (@this == null) { throw new ArgumentNullException("this"); } if (InAppPurchases.HasFeature(GoogleMusicFeatures.Offline)) { return(@this.GetValue <uint>(MaximumCacheSizeKey, defaultValue: MaximumOfflineSongsCount)); } return(MaximumOfflineSongsCount); }
public void BuyPackage(object arg) { if (this.buying) { return; } var packageName = arg.ToString(); this.buying = true; this.Logger.LogTask(InAppPurchases.RequestPurchase(packageName)); this.applicationSettingViewsService.Close(); }
private void UpdateAdControl() { if (InAppPurchases.HasFeature(GoogleMusicFeatures.AdFree)) { if (this.adControl != null) { this.SnappedGrid.Children.Remove(this.adControl); this.adControl.ErrorOccurred -= this.AdControlOnErrorOccurred; this.adControl = null; this.SnappedGrid.Children.Remove(this.adReplacementButton); this.adReplacementButton = null; } } else { if (this.adControl == null) { this.adReplacementButton = new HyperlinkButton { Style = (Style)Application.Current.Resources["SnappedViewAdReplacement"] }; Grid.SetRow(this.adReplacementButton, 6); Canvas.SetZIndex(this.adReplacementButton, 0); this.SnappedGrid.Children.Add(this.adReplacementButton); this.adControl = new AdControl { ApplicationId = "8eb9e14b-2133-40db-9500-14eff7c05aab", AdUnitId = "156438", Width = 300, Height = 250, HorizontalAlignment = HorizontalAlignment.Center, UseStaticAnchor = true }; this.adControl.ErrorOccurred += this.AdControlOnErrorOccurred; Grid.SetRow(this.adControl, 6); Canvas.SetZIndex(this.adControl, 100); this.SnappedGrid.Children.Add(this.adControl); } } }
public static void Initialize(IApplicationSettingViewsService service, IApplicationResources resources) { service.RegisterSettings <AccountsView>("accounts", resources.GetString("SettingsAccountTitle")); service.RegisterSettings <AppSettingsView>("appsettings", resources.GetString("SettingsAppSettingsTitle")); service.RegisterSettings <OfflineCacheView>("offlinecache", resources.GetString("OfflineCacheAppSettingsTitle"), ApplicationSettingLayoutType.Large); bool upgradeViewRegistered = false; if (!InAppPurchases.HasFeature(GoogleMusicFeatures.All)) { service.RegisterSettings <UpgradeView>("upgrade", resources.GetString("SettingsUpgradeTitle")); upgradeViewRegistered = true; } service.RegisterSettings <SupportView>("support", resources.GetString("SettingsSupportTitle")); service.RegisterSettings <PrivacyView>("privacy", resources.GetString("SettingsPrivacyPolicyTitle")); service.RegisterSettings <LegalView>("legal", resources.GetString("SettingsLegalTitle")); InAppPurchases.LicenseChanged += () => { if (!InAppPurchases.HasFeature(GoogleMusicFeatures.All)) { if (!upgradeViewRegistered) { service.RegisterSettings <UpgradeView>("upgrade", "SettingsUpgradeTitle", ApplicationSettingLayoutType.Standard, "accounts"); upgradeViewRegistered = true; } } else { if (upgradeViewRegistered) { service.UnregisterSettings("upgrade"); upgradeViewRegistered = false; } } }; #if DEBUG InAppPurchases.SimulatorInAppPurchasesInitialization(); #endif }
private async Task LoadProducts(string[] keys) { try { MonoTouch.Utilities.PushNetworkActive(); var data = await InAppPurchases.RequestProductData(keys); _items.Clear(); _items.AddRange(data.Products.Select(x => new Item { Id = x.ProductIdentifier, Name = x.LocalizedTitle, Description = x.LocalizedDescription, Price = x.LocalizedPrice() })); Render(); } catch (Exception e) { MonoTouch.Utilities.ShowAlert("Error", e.Message); } finally { MonoTouch.Utilities.PopNetworkActive(); } }
private bool CanBuyPackage(object arg) { var packageName = arg.ToString(); return(!InAppPurchases.IsActive(packageName)); }