示例#1
0
    public void OnPurchaseFailed(AppcoinsProduct product, AppcoinsPurchaseFailureReason failureReason)
    {
        onPurchaseFailed.Invoke(product);

        // A product purchase attempt did not succeed. Check failureReason for more detail. Consider sharing
        // this reason with the user to guide their troubleshooting actions.
        SetStatus(string.Format("OnPurchaseFailed: FAIL.\nProduct: '{0}',\nPurchaseFailureReason: {1}", (product != null ? product.skuID : "none"), failureReason));
    }
示例#2
0
        //callback on failed purchases
        public void OnPurchaseFailure(string error)
        {
            Debug.Log("Purchase failed with error " + error);
            if (_listener == null)
            {
                Debug.LogError("No IStoreListener set up!");
            }

            if (_controller == null)
            {
                Debug.LogError("No IStoreController set up!");
            }

            AppcoinsPurchaseFailureReason failureReason = PurchaseFailureReasonFromString(error);

            _listener.OnPurchaseFailed(_currentPurchaseProduct, failureReason);

            _currentPurchaseProduct = null;
        }
示例#3
0
        AppcoinsPurchaseFailureReason PurchaseFailureReasonFromString(string error)
        {
            AppcoinsPurchaseFailureReason reason = AppcoinsPurchaseFailureReason.Unknown;

            //        String[] iab_msgs = ("0:OK/1:User Canceled/2:Unknown/"
            //+ "3:Billing Unavailable/4:Item unavailable/"
            //+ "5:Developer Error/6:Error/7:Item Already Owned/"
            //+ "8:Item not owned").split("/");
            //String[] iabhelper_msgs = ("0:OK/-1001:Remote exception during initialization/"
            //+ "-1002:Bad response received/"
            //+ "-1003:Purchase signature verification failed/"
            //+ "-1004:Send intent failed/"
            //+ "-1005:User cancelled/"
            //+ "-1006:Unknown purchase response/"
            //+ "-1007:Missing token/"
            //+ "-1008:Unknown error/"
            //+ "-1009:Subscriptions not available/"
            //+ "-1010:Invalid consumption attempt").split("/");

            if (error.IndexOf("User cancelled", StringComparison.OrdinalIgnoreCase) != -1)
            {
                reason = AppcoinsPurchaseFailureReason.UserCancelled;
            }
            else if (error.IndexOf("Unknown error", StringComparison.OrdinalIgnoreCase) != -1)
            {
                reason = AppcoinsPurchaseFailureReason.Unknown;
            }
            else if (error.IndexOf("Purchase signature verification failed", StringComparison.OrdinalIgnoreCase) != -1)
            {
                reason = AppcoinsPurchaseFailureReason.SignatureInvalid;
            }
            else if (error.IndexOf("Unable to buy item", StringComparison.OrdinalIgnoreCase) != -1)
            {
                reason = AppcoinsPurchaseFailureReason.ProductUnavailable;
            }
            else if (error.IndexOf("Unknown error", StringComparison.OrdinalIgnoreCase) != -1)
            {
                reason = AppcoinsPurchaseFailureReason.Unknown;
            }

            return(reason);
        }