Esempio n. 1
0
            public void Purchase(AN_SkuDetails skuDetails, string developerPayload, Action <AN_BillingPurchaseResult> callback)
            {
                m_BillingPurchaseCallback = callback;
                var paramsBuilder = AN_BillingFlowParams.NewBuilder();

                paramsBuilder.SetSkuDetails(skuDetails);

                m_BillingClient.LaunchBillingFlow(paramsBuilder.Build());
            }
Esempio n. 2
0
 public void Purchase(string ProductId)
 {
     BuildProducts();
     if (m_BillingClientSample.IsConnected)
     {
         var skuDetails    = GetSkuDetails(ProductId);
         var paramsBuilder = AN_BillingFlowParams.NewBuilder();
         paramsBuilder.SetSkuDetails(skuDetails);
         m_BillingClientSample.Client.LaunchBillingFlow(paramsBuilder.Build());
     }
 }
        //--------------------------------------
        //  UM_iInAppClient
        //--------------------------------------

        public void AddPayment(string productId)
        {
            var skuDetails = GetSkuDetails(productId);

            Assert.IsNotNull(skuDetails);

            var paramsBuilder = AN_BillingFlowParams.NewBuilder();

            paramsBuilder.SetSkuDetails(skuDetails);
            m_BillingClient.LaunchBillingFlow(paramsBuilder.Build());
        }
Esempio n. 4
0
    //--------------------------------------
    // AN_iSkuDetailsResponseListener
    //--------------------------------------

    public void OnSkuDetailsResponse(SA_Result billingResult, List <AN_SkuDetails> skuDetailsList)
    {
        AN_Logger.Log("OnSkuDetailsResponse IsSucceeded: " + billingResult.IsSucceeded);
        if (billingResult.IsSucceeded)
        {
            AN_Logger.Log("Loaded " + skuDetailsList.Count + " products");
            foreach (var skuDetails in skuDetailsList)
            {
                AN_Logger.Log("--------------------->");
                PrintSku(skuDetails);

                var productView = Instantiate(m_ProductView.gameObject, m_ProductView.transform.parent).GetComponent <AN_ProductView>();
                productView.transform.localScale = m_ProductView.transform.localScale;
                productView.gameObject.SetActive(true);
                productView.ProductTitle.text = skuDetails.Title;
                if (!string.IsNullOrEmpty(skuDetails.IconUrl))
                {
                    SA_CachedRequestsFactory.GetTexture2D(skuDetails.IconUrl, texture =>
                    {
                        productView.ProductImage.texture = texture;
                    });
                }

                var productPurchasedInfo = IsProductPurchased(skuDetails);

                if (productPurchasedInfo != null)
                {
                    productView.BuyButton.GetComponentInChildren <Text>().text = "Consume";
                    productView.BuyButton.onClick.AddListener(() =>
                    {
                        var paramsBuilder = AN_ConsumeParams.NewBuilder();
                        paramsBuilder.SetPurchaseToken(productPurchasedInfo.PurchaseToken);

                        m_BillingClientSample.Client.ConsumeAsync(paramsBuilder.Build(), this);
                    });
                }
                else
                {
                    productView.BuyButton.GetComponentInChildren <Text>().text = "Buy";
                    productView.BuyButton.onClick.AddListener(() =>
                    {
                        var paramsBuilder = AN_BillingFlowParams.NewBuilder();
                        paramsBuilder.SetSkuDetails(skuDetails);

                        m_BillingClientSample.Client.LaunchBillingFlow(paramsBuilder.Build());
                    });
                }
            }
        }
    }
Esempio n. 5
0
    private void SubscriptionReplace()
    {
        var oldProductId  = "old_subscription_id";
        var paramsBuilder = AN_BillingFlowParams.NewBuilder();

        AN_SkuDetails subscriptionProduct = null; // get subscription AN_SkuDetails model here.

        paramsBuilder.SetSkuDetails(subscriptionProduct);
        paramsBuilder.SetOldSku(oldProductId);
        paramsBuilder.SetReplaceSkusProrationMode(AN_BillingFlowParams.ProrationMode.ImmediateWithoutProration);

        //Use your billing client here.
        AN_BillingClient client = null;

        client.LaunchBillingFlow(paramsBuilder.Build());
    }