//--------------------------------------
        // Public Methods
        //--------------------------------------

        public void Connect()
        {
            using (var builder = AN_BillingClient.NewBuilder())
            {
                builder.SetListener(this);
                builder.EnablePendingPurchases();
                builder.SetChildDirected(AN_BillingClient.ChildDirected.Unspecified);
                builder.SetUnderAgeOfConsent(AN_BillingClient.UnderAgeOfConsent.Unspecified);

                m_BillingClient = builder.Build();
                m_BillingClient.StartConnection(this);
            }
        }
        //--------------------------------------
        //  UM_AbstractInAppClient
        //--------------------------------------

        protected override void ConnectToService(Action <SA_iResult> callback)
        {
            m_ConnectToServiceCallback = callback;
            using (var builder = AN_BillingClient.NewBuilder())
            {
                builder.SetListener(this);
                builder.EnablePendingPurchases();
                builder.SetChildDirected(AN_BillingClient.ChildDirected.Unspecified);
                builder.SetUnderAgeOfConsent(AN_BillingClient.UnderAgeOfConsent.Unspecified);

                m_BillingClient = builder.Build();
                m_BillingClient.StartConnection(this);
            }
        }
Esempio n. 3
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());
    }
        public void LoadSkuDetails(AN_BillingClient client, AN_BillingClient.SkuType skuType, Action <List <AN_SkuDetails> > callback)
        {
            m_Callback = callback;
            var paramsBuilder = AN_SkuDetailsParams.NewBuilder();

            paramsBuilder.SetType(skuType);

            var skusList = new List <string>();

            foreach (var product in AN_Settings.Instance.InAppProducts)
            {
                if (product.Type == skuType)
                {
                    skusList.Add(product.Sku);
                }
            }

            paramsBuilder.SetSkusList(skusList);
            client.QuerySkuDetailsAsync(paramsBuilder.Build(), this);
        }