Ejemplo n.º 1
0
        public static IAPSubscriptionInfo GetInstance(SubscriptionInfo info)
        {
            IAPSubscriptionInfo result = new IAPSubscriptionInfo();

            // if(info){
            result.isExpired                 = (info.isExpired() == Result.True);
            result.isAutoRenewing            = (info.isAutoRenewing() == Result.True);
            result.isCancelled               = (info.isCancelled() == Result.True);
            result.isFreeTrial               = (info.isFreeTrial() == Result.True);
            result.isIntroductoryPricePeriod = (info.isIntroductoryPricePeriod() == Result.True);
            result.isSubscribed              = (info.isSubscribed() == Result.True);

            result.purchaseDate  = info.getPurchaseDate();
            result.remainingTime = info.getRemainingTime();
            result.cancelDate    = info.getCancelDate();
            result.expireDate    = info.getExpireDate();
            // info.getFreeTrialPeriod();
            result.freeTrialPeriodString         = info.getFreeTrialPeriodString();
            result.introductoryPrice             = info.getIntroductoryPrice();
            result.introductoryPricePeriod       = info.getIntroductoryPricePeriod();
            result.introductoryPricePeriodCycles = info.getIntroductoryPricePeriodCycles();
            // }

            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Updates the receipt.
        /// </summary>
        /// <param name="pp">Pp.</param>
        /// <param name="p">P.</param>
        /// <param name="introductory_info_dict">Introductory info dict.</param>
        private void _UpdateReceipt(Product pp, ref IAPProduct p, Dictionary <string, string> introductory_info_dict)
        {
#if RECEIPT_VALIDATION
#if UNITY_EDITOR
#else
            // Get subscription information
            if (pp.definition.type == ProductType.Subscription)
            {
                // Get the json which store the introductory info
                string intro_json = (introductory_info_dict == null || !introductory_info_dict.ContainsKey(pp.definition.storeSpecificId)) ? null : introductory_info_dict[pp.definition.storeSpecificId];
                if (pp.receipt != null && checkIfProductIsAvailableForSubscriptionManager(pp.receipt))
                {
                    SubscriptionManager manager = new SubscriptionManager(pp, intro_json);
                    SubscriptionInfo    info    = manager.getSubscriptionInfo();
                    p.subsciprtionInfo = IAPSubscriptionInfo.GetInstance(info);
                    // Debug.Log("[SubscriptionInfo] input: " + pp.receipt);
                    // Debug.Log("[SubscriptionInfo]: " + info);
                    // Debug.Log("[SubscriptionInfo] result: " + p.subsciprtionInfo);
                    // Debug.Log("[SubscriptionInfo] purchaseDate: " + p.subsciprtionInfo.purchaseDate);
                    // Debug.Log("[SubscriptionInfo] expireDate: " + p.subsciprtionInfo.expireDate);
                    // Debug.Log("[SubscriptionInfo] introductoryPrice: " + p.subsciprtionInfo.introductoryPrice);
                }
                // Decode introductoryPrice
                if (intro_json != null)
                {
                    IntroductoryPrice ip = JsonUtility.FromJson <IntroductoryPrice>(intro_json);
                    //Debug.Log("IntroductoryPrice> " + ip);
                    if (ip != null)
                    {
                        if (string.IsNullOrEmpty(ip.introductoryPrice) || ip.introductoryPrice == "0")
                        {
                            // No introductory price
                        }
                        else
                        {
                            //p.priceString = ip.introductoryPrice;
                            //p.price = Convert.ToDecimal(Regex.Replace(ip.introductoryPrice, "[^0-9.]", ""));
                            p.introductoryPriceString = ip.introductoryPrice;
                            p.introductoryPrice       = Convert.ToDecimal(Regex.Replace(ip.introductoryPrice, "[^0-9.]", ""));
                        }
                    }
                }
            }
#endif
#endif
        }