コード例 #1
0
    private IEnumerator OnConsume(IAPUnit mIap)
    {
        yield return(new WaitForSeconds(0.1f));

        #if UNITY_ANDROID
        GoogleIAB.consumeProduct(mIap.IAP_Id);
        #endif
    }
コード例 #2
0
    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
    }
コード例 #3
0
 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
 }
コード例 #4
0
    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);
    }
コード例 #5
0
    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);
        }
    }
コード例 #6
0
    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
    }
コード例 #7
0
    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());
        }
    }