예제 #1
0
        /// <summary>
        /// iOS 6 SKStoreProductViewController display
        /// </summary>
        void Buy(int productId)
        {
            Console.WriteLine("Buy " + productId);

            var spp = new StoreProductParameters(productId);

            var productViewController = new SKStoreProductViewController();

            productViewController.Finished += (sender, err) => {
                Console.WriteLine("ProductViewDelegate Finished");

                // Apple's docs says to use this
                this.DismissModalViewControllerAnimated(true);
            };

            productViewController.LoadProduct(spp, (ok, err) => {
                Console.WriteLine("load product");
                if (ok)
                {
                    PresentModalViewController(productViewController, true);
                }
                else
                {
                    Console.WriteLine(" failed ");
                    if (err != null)
                    {
                        Console.WriteLine(" with error " + err);
                    }
                }
            });
        }
예제 #2
0
        /// <summary>
        /// Presents the native App Store interface with the product identified by its iTunes ID.
        /// <p></p>
        /// This is available in iOS 6.0 and later.
        /// </summary>
        /// <param name="iTunesID">The iTunes ID that identifies the product to show.</param>
        public static void ShowStore(string iTunesID)
        {
            _storeViewController = new SKStoreProductViewController();
//			vc.Delegate = StoreProductViewControllerDelegate.instance;

            var param = new Dictionary <object, object>();

            param[SKStoreProductViewController.SKStoreProductParameterITunesItemIdentifier] = iTunesID;

            _storeViewController.LoadProduct(param, delegate(bool result, NSError error) {
                if (result)
                {
                    _storeViewController.DidFinish += _ShowStoreDidFinish;
                    UIApplication.deviceRootViewController.PresentViewController(_storeViewController, true, null);
                }
                else
                {
                    if (_storeViewLoadFailedHandlers != null)
                    {
                        _storeViewLoadFailedHandlers(null, new U3DXTErrorEventArgs(error));
                    }
                    _storeViewController = null;
                }
            });
        }
    void Start()
    {
        if (!CoreXT.IsDevice)
        {
            Debug.Log("StoreProductViewController is only available on the device.");
            return;
        }

        _productViewControllerDelegate  = new StoreProductViewControllerDelegate();
        _productViewController          = new SKStoreProductViewController();
        _productViewController.Delegate = _productViewControllerDelegate;

        LoadProduct(ItemIdentifier);
    }
    void Start()
    {
        if ( !CoreXT.IsDevice )
        {
            Debug.Log ("StoreProductViewController is only available on the device.");
            return;
        }

        _productViewControllerDelegate = new StoreProductViewControllerDelegate();
        _productViewController = new SKStoreProductViewController();
        _productViewController.Delegate = _productViewControllerDelegate;

        LoadProduct(ItemIdentifier);
    }
 public override void DidFinish(SKStoreProductViewController viewController)
 {
     viewController.presentingViewController.DismissViewController(true, null);
 }
예제 #6
0
파일: IAPXT.cs 프로젝트: BiDuc/u3dxt
 private static void _ShowStoreDidFinish(object sender, EventArgs e)
 {
     _storeViewController.presentingViewController.DismissViewController(true, null);
     _storeViewController = null;
 }
예제 #7
0
파일: IAPXT.cs 프로젝트: BiDuc/u3dxt
        /// <summary>
        /// Presents the native App Store interface with the product identified by its iTunes ID.
        /// <p></p>
        /// This is available in iOS 6.0 and later.
        /// </summary>
        /// <param name="iTunesID">The iTunes ID that identifies the product to show.</param>
        public static void ShowStore(string iTunesID)
        {
            _storeViewController = new SKStoreProductViewController();
            //			vc.Delegate = StoreProductViewControllerDelegate.instance;

            var param = new Dictionary<object, object>();
            param[SKStoreProductViewController.SKStoreProductParameterITunesItemIdentifier] = iTunesID;

            _storeViewController.LoadProduct(param, delegate(bool result, NSError error) {
                if (result) {
                    _storeViewController.DidFinish += _ShowStoreDidFinish;
                    UIApplication.deviceRootViewController.PresentViewController(_storeViewController, true, null);
                } else {
                    if (_storeViewLoadFailedHandlers != null)
                        _storeViewLoadFailedHandlers(null, new U3DXTErrorEventArgs(error));
                    _storeViewController = null;
                }
            });
        }
예제 #8
0
 public ReviewAppManager()
 {
     _storeProductViewController = new SKStoreProductViewController();
 }
 public override void DidFinish(SKStoreProductViewController viewController)
 {
     viewController.DismissViewController(true, null);
 }
		/// <summary>
		/// iOS 6 SKStoreProductViewController display
		/// </summary>
		void Buy (int productId)
		{
			Console.WriteLine ("Buy " + productId);

			var spp = new StoreProductParameters(productId);

			var productViewController = new SKStoreProductViewController ();
			productViewController.Finished += (sender, err) => {
				Console.WriteLine ("ProductViewDelegate Finished");

				// Apple's docs says to use this
				this.DismissModalViewController (true);
			};

			productViewController.LoadProduct (spp, (ok, err) => {
				Console.WriteLine ("load product");
				if (ok) {
					PresentModalViewController (productViewController, true);
				} else {
					Console.WriteLine (" failed ");
					if (err != null)
						Console.WriteLine (" with error " + err);
				}
			});
		}
예제 #11
0
 private static void _ShowStoreDidFinish(object sender, EventArgs e)
 {
     _storeViewController.presentingViewController.DismissViewController(true, null);
     _storeViewController = null;
 }