private IEnumerator OnConsume(IAPUnit mIap) { yield return(new WaitForSeconds(0.1f)); #if UNITY_ANDROID GoogleIAB.consumeProduct(mIap.IAP_Id); #endif }
public void BuyProduct(IAP iap) { IAPUnit mIap = mInAppProducts.Find(f => (f.mIap == iap)); #if UNITY_ANDROID GoogleIAB.purchaseProduct(mIap.IAP_Id); #endif #if UNITY_IOS StoreKitBinding.purchaseProduct(mIap.IAP_Id, 1); #endif }
void UseProduct(IAPUnit mIap) { #if UNITY_ANDROID if (mIap.mIAPtypes == IAP_Type.NonConsumable) { UIManager.Instance.ShowPopUp(mIap.IAP_name, null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null, "Purchase Success!"); } else { UIManager.Instance.ShowPopUp(mIap.IAP_name, null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null, "Purchase Success!"); StartCoroutine(OnConsume(mIap)); } #endif }
void GoogleIABManager_purchaseSucceededEvent(GooglePurchase obj) { string prodId = obj.productId; IAPUnit mIapProduct = mInAppProducts.Find(prod => (prod.IAP_Id == prodId)); if (mIapProduct.isRemoveAds) { GameManager.Instance.RemoveAds(); } UseProduct(mIapProduct); GameManager.Instance.AddDeductCurrency(mIapProduct.mCurrency, AddDeductAction.Add, mIapProduct.prodValue); }
public void OnPurchaseSuccess(StoreKitTransaction obj) { string prodID = obj.productIdentifier; IAPUnit mIap = mInAppProducts.Find(prod => (prod.IAP_Id == prodID)); if (mIap.isRemoveAds) { GameManager.Instance.RemoveAds(); } GameManager.Instance.AddDeductCurrency(mIap.mCurrency, AddDeductAction.Add, mIap.prodValue); if (!IsRestorePurchase) { UIManager.Instance.ShowPopUp("Purchase Success : " + mIap.IAP_name, null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null); } }
public void RestorePurchase() { #if UNITY_IOS IsRestorePurchase = true; StoreKitBinding.restoreCompletedTransactions(); #endif #if UNITY_ANDROID if (NonConsumedSku.Count > 0) { for (int i = 0; i < NonConsumedSku.Count; i++) { string prodID = NonConsumedSku[i]; IAPUnit iap = mInAppProducts.Find(prod => prod.IAP_Id == prodID); if (iap != null) { if (iap.mIAPtypes == IAP_Type.NonConsumable) { UIManager.Instance.ShowPopUp("All purchases have been restored", null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null, "Restore Successful!"); GameManager.Instance.AddDeductCurrency(iap.mCurrency, AddDeductAction.Add, iap.prodValue); } else { UIManager.Instance.ShowPopUp("Nothing To Restore", null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null); } } else { UIManager.Instance.ShowPopUp("Nothing To Restore", null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null); } } } else { UIManager.Instance.ShowPopUp("Nothing To Restore", null, TypeOfPopUpButtons.Ok, TypeOfPopUp.Buttoned, 0, null, null); } #endif }
private void IABQueryInventorySucceeded(List <GooglePurchase> arg1, List <GoogleSkuInfo> arg2) { List <string> skus = new List <string>(); if (arg1.Count > 1) { for (int i = 0; i < arg1.Count; i++) { string id = arg1[i].productId; IAPUnit iap = mInAppProducts.Find(prod => (prod.IAP_Id == id)); if (iap.mIAPtypes == IAP_Type.Consumable) { skus.Add(iap.IAP_Id); } else { NonConsumedSku.Add(iap.IAP_Id); } } GoogleIAB.consumeProducts(skus.ToArray()); } }