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); }
// 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); }