Пример #1
0
        private List <IAPProduct> DoGetProductsIOS()
        {
            List <IAPProduct> ret = new List <IAPProduct>();


            foreach (var item in ConfCharge.array)
            {
#if UNITY_ANDROID
                if ((int)IAP_PLATFROM_TYPE.E_GOOGLE_PLAY != item.source)
                {
                    continue;
                }
#elif UNITY_IOS
                if ((int)IAP_PLATFROM_TYPE.E_APPLE_STORE != item.source)
                {
                    continue;
                }
#endif


                IAPProduct product = new IAPProduct()
                {
                    m_charge_id          = item.id,
                    m_unique_platform_id = ConfCharge.Get(item.id).chargeSouceId,
                    m_type = ConvertProductType(1),
                };

                ret.Add(product);
            }

            return(ret);
        }
Пример #2
0
        //        private Confinapppurchase GetGoodsByPlatformID(string platform_product_id_)
        //        {

        //            foreach (var good in Confinapppurchase.array)
        //            {

        //#if UNITY_ANDROID
        //                if (good.googleid == platform_product_id_)
        //                {
        //                    return good;
        //                }
        //#elif UNITY_IOS

        //                 if (good.appleid == platform_product_id_)
        //                {
        //                    return good;
        //                }
        //#else

        //                if (good.gameid == platform_product_id_)
        //                {
        //                    return good;
        //                }
        //#endif
        //            }

        //            return null;
        //        }



        private List <IAPProduct> DoGetProducts()
        {
            List <IAPProduct> ret = new List <IAPProduct>();

            Dictionary <long, Dictionary <IAP_PLATFROM_TYPE, string> > goods = new Dictionary <long, Dictionary <IAP_PLATFROM_TYPE, string> >();

            Debug.Log("UNITY IAP charge count = " + ConfCharge.array.Count);

            foreach (var item in ConfCharge.array)
            {
#if UNITY_ANDROID
                if ((int)IAP_PLATFROM_TYPE.E_GOOGLE_PLAY != item.source)
                {
                    continue;
                }
#elif UNITY_IOS
                if ((int)IAP_PLATFROM_TYPE.E_APPLE_STORE != item.source)
                {
                    continue;
                }
#endif

                long charge_id = item.id;
                if (!goods.ContainsKey(charge_id))
                {
                    goods[charge_id] = new Dictionary <IAP_PLATFROM_TYPE, string>();
                }

                goods[charge_id][(IAP_PLATFROM_TYPE)item.source] = item.chargeSouceId;
            }

            foreach (var item in goods)
            {
                IAPProduct product = new IAPProduct()
                {
                    m_charge_id = item.Key,
                    //m_unique_platform_id = ConfCharge.Get(item.Key).chargeSouceId,
                    m_type = ConvertProductType(1),
                    m_cross_platform_ids = new IDs(),
                };

                if (item.Value.ContainsKey(IAP_PLATFROM_TYPE.E_GOOGLE_PLAY))
                {
                    product.m_cross_platform_ids.Add(item.Value[IAP_PLATFROM_TYPE.E_GOOGLE_PLAY], UnityEngine.Purchasing.GooglePlay.Name);
                }

                if (item.Value.ContainsKey(IAP_PLATFROM_TYPE.E_APPLE_STORE))
                {
                    product.m_cross_platform_ids.Add(item.Value[IAP_PLATFROM_TYPE.E_APPLE_STORE], UnityEngine.Purchasing.AppleAppStore.Name);
                }

                ret.Add(product);
            }

            return(ret);
        }