Exemple #1
0
        //--------------------------------------
        //  PRIVATE METHODS
        //--------------------------------------

        private void FireSuccessInitEvent()
        {
            _IsStoreLoaded       = true;
            _IsWaitingLoadResult = false;
            SA.Common.Models.Result r = new SA.Common.Models.Result();
            OnStoreKitInitComplete(r);
        }
 internal static void RequestPermissionsResponse(string dataString)          // TODO: Reaction on Request Reponse
 {
     SA.Common.Models.Result result;
     if (dataString.Equals("success"))
     {
         result = new SA.Common.Models.Result();
     }
     else
     {
         result = new SA.Common.Models.Result(new SA.Common.Models.Error());
     }
     RequestPermissionsCallback(result);
 }
Exemple #3
0
        //--------------------------------------
        //  EVENTS
        //--------------------------------------


        private void OnStoreKitInitFailed(string data)
        {
            SA.Common.Models.Error e = new SA.Common.Models.Error(data);

            _IsStoreLoaded       = false;
            _IsWaitingLoadResult = false;


            SA.Common.Models.Result res = new SA.Common.Models.Result(e);
            OnStoreKitInitComplete(res);


            if (!IOSNativeSettings.Instance.DisablePluginLogs)
            {
                ISN_Logger.Log("STORE_KIT_INIT_FAILED Error: " + e.Message);
            }
        }
Exemple #4
0
        private void onStoreDataReceived(string data)
        {
            if (data.Equals(string.Empty))
            {
                ISN_Logger.Log("InAppPurchaseManager, no products avaiable");
                SA.Common.Models.Result res = new SA.Common.Models.Result();
                OnStoreKitInitComplete(res);
                return;
            }


            string[] storeData = data.Split(SA.Common.Data.Converter.DATA_SPLITTER);

            for (int i = 0; i < storeData.Length; i += 7)
            {
                string  prodcutId = storeData[i];
                Product tpl       = GetProductById(prodcutId);


                tpl.DisplayName    = storeData[i + 1];
                tpl.Description    = storeData[i + 2];
                tpl.LocalizedPrice = storeData[i + 3];
                tpl.Price          = Convert.ToSingle(storeData[i + 4]);
                tpl.CurrencyCode   = storeData[i + 5];
                tpl.CurrencySymbol = storeData[i + 6];
                tpl.IsAvailable    = true;
            }

            ISN_Logger.Log("InAppPurchaseManager, total products in settings: " + Products.Count.ToString());


            int avaliableProductsCount = 0;

            foreach (Product tpl in Products)
            {
                if (tpl.IsAvailable)
                {
                    avaliableProductsCount++;
                }
            }

            ISN_Logger.Log("InAppPurchaseManager, total avaliable products" + avaliableProductsCount);
            FireSuccessInitEvent();
        }
        internal static void AddNotificationRequestResponse(string dataString)
        {
            string[] DataArray    = dataString.Split(new string[] { SA.Common.Data.Converter.DATA_SPLITTER2 }, StringSplitOptions.None);
            string   idKey        = DataArray [0];
            string   statusString = DataArray [1];

            SA.Common.Models.Result result;
            if (statusString.Equals("success"))
            {
                result = new SA.Common.Models.Result();
            }
            else
            {
                result = new SA.Common.Models.Result(new SA.Common.Models.Error(statusString));
            }
            Action <SA.Common.Models.Result> callback = OnCallbackDictionary [idKey];

            if (callback != null)
            {
                callback(result);
            }
        }
 void HandleOnStoreKitInitComplete(SA.Common.Models.Result obj)
 {
     PaymentManager.OnStoreKitInitComplete -= HandleOnStoreKitInitComplete;
     _listener();
 }