Пример #1
0
    //--------------------------------------
    // Event Handlers
    //--------------------------------------


    private void OnInitComplete(WP8_InAppsInitResult result)
    {
        _IsConnected = true;

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.message   = "Inited";
        r.isSuccess = true;


        foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
        {
            WP8ProductTemplate tpl = WP8InAppPurchasesManager.Instance.GetProductById(product.WP8Id);
            if (tpl != null)
            {
                product.SetTemplate(tpl);
                if (product.WP8Template.IsPurchased && !product.IsConsumable)
                {
                    UM_InAppPurchaseManager.SaveNonConsumableItemPurchaseInfo(product);
                }
            }
        }

        SendServiceConnectedEvent(r);
    }
    private void OnRetrieveProductsFinised(BillingResult result)
    {
        AndroidInAppPurchaseManager.ActionRetrieveProducsFinished -= OnRetrieveProductsFinised;

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.message   = result.Message;
        r.isSuccess = result.IsSuccess;

        _IsConnected = r.isSuccess;

        if (r.isSuccess)
        {
            foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
            {
                GoogleProductTemplate tpl = AndroidInAppPurchaseManager.Client.Inventory.GetProductDetails(product.AndroidId);
                if (tpl != null)
                {
                    product.SetTemplate(tpl);
                    if (product.IsConsumable && AndroidInAppPurchaseManager.Client.Inventory.IsProductPurchased(product.AndroidId))
                    {
                        AndroidInAppPurchaseManager.Client.Consume(product.AndroidId);
                    }

                    if (!product.IsConsumable && AndroidInAppPurchaseManager.Client.Inventory.IsProductPurchased(product.AndroidId))
                    {
                        UM_InAppPurchaseManager.SaveNonConsumableItemPurchaseInfo(product);
                    }
                }
            }
        }

        SendServiceConnectedEvent(r);
    }
Пример #3
0
    private void IOS_OnStoreKitInitComplete(ISN_Result res)
    {
        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        _IsInited = true;
        _IsPurchasingAvailable = res.IsSucceeded;
        r.isSuccess            = res.IsSucceeded;
        if (res.IsSucceeded)
        {
            r.message = "Inited";

            foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
            {
                IOSProductTemplate tpl = IOSInAppPurchaseManager.instance.GetProductById(product.IOSId);
                if (tpl != null)
                {
                    product.SetTemplate(tpl);
                }
            }

            OnBillingConnectFinishedAction(r);
            dispatch(ON_BILLING_CONNECT_FINISHED, r);
        }
        else
        {
            if (res.error != null)
            {
                r.message = res.error.description;
            }

            OnBillingConnectFinishedAction(r);
            dispatch(ON_BILLING_CONNECT_FINISHED, r);
        }
    }
    private void IOS_OnStoreKitInitComplete(SA.Common.Models.Result res)
    {
        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        _IsConnected = res.IsSucceeded;
        r.isSuccess  = res.IsSucceeded;
        if (res.IsSucceeded)
        {
            r.message = "Inited";

            foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
            {
                Product tpl = PaymentManager.Instance.GetProductById(product.IOSId);
                if (tpl != null)
                {
                    product.SetTemplate(tpl);
                }
            }

            SendServiceConnectedEvent(r);
        }
        else
        {
            if (res.Error != null)
            {
                r.message = res.Error.Message;
            }

            SendServiceConnectedEvent(r);
        }
    }
Пример #5
0
    //--------------------------------------
    // WP8 Listners
    //--------------------------------------

    private void WP8_OnInitComplete()
    {
        _IsInited = true;
        _IsPurchasingAvailable = true;

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.message   = "Inited";
        r.isSuccess = true;


        foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
        {
            WP8ProductTemplate tpl = WP8InAppPurchasesManager.instance.GetProductById(product.WP8Id);
            if (tpl != null)
            {
                product.SetTemplate(tpl);
                if (product.WP8Template.isPurchased && !product.IsConsumable)
                {
                    SaveNonConsumableItemPurchaseInfo(product);
                }
            }
        }

        OnBillingConnectFinishedAction(r);
        dispatch(ON_BILLING_CONNECT_FINISHED, r);
    }
Пример #6
0
 //--------------------------------------
 //  GET/SET
 //--------------------------------------
 //--------------------------------------
 //  EVENTS
 //--------------------------------------
 private void OnConnectFinished(UM_BillingConnectionResult result)
 {
     if(result.isSuccess) {
         UM_ExampleStatusBar.text = "Billing init Success";
     } else  {
         UM_ExampleStatusBar.text = "Billing init Failed";
     }
 }
Пример #7
0
 private void OnBillingConnectFinishedAction(UM_BillingConnectionResult result)
 {
     UM_InAppPurchaseManager.OnBillingConnectFinishedAction -= OnBillingConnectFinishedAction;
     if(result.isSuccess) {
         Debug.Log("Connected");
     } else {
         Debug.Log("Failed to connect");
     }
 }
Пример #8
0
    private void FakeConnectEvent()
    {
        _IsInited = true;

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.message   = "Inited";
        r.isSuccess = true;
        OnBillingConnectFinishedAction(r);
    }
Пример #9
0
    //--------------------------------------
    //  GET/SET
    //--------------------------------------

    //--------------------------------------
    //  EVENTS
    //--------------------------------------

    private void OnConnectFinished(UM_BillingConnectionResult result)
    {
        if (result.isSuccess)
        {
            UM_ExampleStatusBar.text = "Billing init Success";
        }
        else
        {
            UM_ExampleStatusBar.text = "Billing init Failed";
        }
    }
Пример #10
0
 private void OnConnectFinished(UM_BillingConnectionResult result)
 {
     if (result.isSuccess)
     {
         Debug.Log("Billing init Success");
     }
     else
     {
         Debug.Log("Billing init Failed");
     }
 }
Пример #11
0
 private void OnBillingConnectFinishedAction(UM_BillingConnectionResult result)
 {
     UM_InAppPurchaseManager.OnBillingConnectFinishedAction -= OnBillingConnectFinishedAction;
     if (result.isSuccess)
     {
         Debug.Log("Connected");
     }
     else
     {
         Debug.Log("Failed to connect");
     }
 }
Пример #12
0
 private void OnStoreInitComplete(UM_BillingConnectionResult res)
 {
     UM_InAppPurchaseManager.OnBillingConnectFinishedAction -= OnStoreInitComplete;
     if (res.isSuccess)
     {
         OnBillingInited();
     }
     else
     {
         Fsm.Event(productNotFoundEvent);
         Finish();
     }
 }
Пример #13
0
    private void OnConnectFinished(CEvent e)
    {
        UM_BillingConnectionResult result = e.data as UM_BillingConnectionResult;

        if (result.isSuccess)
        {
            UM_ExampleStatusBar.text = "Billing init Success";
        }
        else
        {
            UM_ExampleStatusBar.text = "Billing init Failed";
        }
    }
Пример #14
0
 private void OnBillingConnectFinishedAction(UM_BillingConnectionResult result)
 {
     UM_InAppPurchaseManager.Client.OnServiceConnected -= OnBillingConnectFinishedAction;
     if (result.isSuccess)
     {
         Debug.Log("Connected");
         initStore = true;
     }
     else
     {
         Debug.Log("Failed to connect");
         initStore = true;
     }
 }
 private void OnBillingConnected(BillingResult result)
 {
     if (result.IsSuccess)
     {
         AndroidInAppPurchaseManager.ActionBillingSetupFinished -= OnBillingConnected;
         AndroidInAppPurchaseManager.Client.RetrieveProducDetails();
     }
     else
     {
         UM_BillingConnectionResult r = new UM_BillingConnectionResult();
         r.isSuccess = false;
         r.message   = result.Message;
         SendServiceConnectedEvent(r);
     }
 }
Пример #16
0
        private void OnStoreInitComplete(UM_BillingConnectionResult res)
        {
            UM_InAppPurchaseManager.OnBillingConnectFinishedAction -= OnStoreInitComplete;
            if (res.isSuccess)
            {
                Fsm.Event(successEvent);
            }
            else
            {
                Fsm.Event(failEvent);
            }


            Finish();
        }
Пример #17
0
 private void Android_OnBillingConnected(BillingResult result)
 {
     if (result.isSuccess)
     {
         //Store connection is Successful. Next we loading product and customer purchasing details
         AndroidInAppPurchaseManager.ActionBillingSetupFinished -= Android_OnBillingConnected;
         AndroidInAppPurchaseManager.instance.RetrieveProducDetails();
     }
     else
     {
         UM_BillingConnectionResult r = new UM_BillingConnectionResult();
         r.isSuccess = false;
         r.message   = result.message;
         OnBillingConnectFinishedAction(r);
     }
 }
Пример #18
0
    private void OnBillingConnectFinishedAction(UM_BillingConnectionResult result)
    {
        UM_InAppPurchaseManager.OnBillingConnectFinishedAction -= OnBillingConnectFinishedAction;
        if (result.isSuccess)
        {
            Debug.Log("IAP Connected");
            foreach (UM_InAppProduct product in UM_InAppPurchaseManager.Instance.InAppProducts)
            {
                Debug.Log("Id: " + product.id);
                Debug.Log("IsConsumable: " + product.IsConsumable);

                Debug.Log("Title: " + product.Title);
                Debug.Log("Description: " + product.Description);
            }
        }
        else
        {
            Debug.Log("IAP Failed to connect");
        }
    }
Пример #19
0
    private void Android_OnRetrieveProductsFinised(CEvent e)
    {
        _IsInited = true;

        BillingResult result = e.data as BillingResult;

        AndroidInAppPurchaseManager.instance.removeEventListener(AndroidInAppPurchaseManager.ON_RETRIEVE_PRODUC_FINISHED, Android_OnRetrieveProductsFinised);

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.message              = result.message;
        r.isSuccess            = result.isSuccess;
        _IsPurchasingAvailable = r.isSuccess;
        if (r.isSuccess)
        {
            foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
            {
                GoogleProductTemplate tpl = AndroidInAppPurchaseManager.instance.inventory.GetProductDetails(product.AndroidId);
                if (tpl != null)
                {
                    product.SetTemplate(tpl);
                    if (product.IsConsumable && AndroidInAppPurchaseManager.instance.inventory.IsProductPurchased(product.AndroidId))
                    {
                        AndroidInAppPurchaseManager.instance.consume(product.AndroidId);
                    }

                    if (!product.IsConsumable && AndroidInAppPurchaseManager.instance.inventory.IsProductPurchased(product.AndroidId))
                    {
                        SaveNonConsumableItemPurchaseInfo(product);
                    }
                }
            }
        }


        OnBillingConnectFinishedAction(r);
        dispatch(ON_BILLING_CONNECT_FINISHED, r);
    }
    public void Connect()
    {
        SA.Common.Util.General.Invoke(UnityEngine.Random.Range(0.5f, 3f), () => {
            bool IsSucceeded             = SA_EditorTesting.HasFill(_RequestsSuccessRate);
            UM_BillingConnectionResult r = new UM_BillingConnectionResult();


            if (IsSucceeded)
            {
                _IsConnected = true;
                r.isSuccess  = true;
                r.message    = "Editor Testing Service Connected";
                SA_EditorNotifications.ShowNotification("Billing Connected", "Connection successful", SA_EditorNotificationType.Message);
            }
            else
            {
                r.isSuccess = false;
                r.message   = "Connection failed";
                SA_EditorNotifications.ShowNotification("Billing Connection Failed", "Connection Failed", SA_EditorNotificationType.Error);
            }
            SendServiceConnectedEvent(r);
        });
    }
Пример #21
0
    private void Android_OnBillingConnected(CEvent e)
    {
        BillingResult result         = e.data as BillingResult;
        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        AndroidInAppPurchaseManager.instance.removeEventListener(AndroidInAppPurchaseManager.ON_BILLING_SETUP_FINISHED, Android_OnBillingConnected);


        if (result.isSuccess)
        {
            //Store connection is Successful. Next we loading product and customer purchasing details
            r.isSuccess = true;
            AndroidInAppPurchaseManager.instance.retrieveProducDetails();
        }
        else
        {
            r.isSuccess = false;
            dispatch(ON_BILLING_CONNECT_FINISHED, r);
        }


        r.message = result.message;
    }
Пример #22
0
    private void HandleAmazonGetProductDataReceived(AMN_GetProductDataResponse response)
    {
        Debug.Log("[Amazon] HandleAmazonGetProductDataReceived");

        _IsConnected = response.isSuccess;

        if (response.isSuccess)
        {
            foreach (UM_InAppProduct product in UltimateMobileSettings.Instance.InAppProducts)
            {
                if (SA_AmazonBillingManager.Instance.availableItems.ContainsKey(product.AmazonId))
                {
                    product.SetTemplate(SA_AmazonBillingManager.Instance.availableItems[product.AmazonId]);
                }
            }
        }

        UM_BillingConnectionResult r = new UM_BillingConnectionResult();

        r.isSuccess = response.isSuccess;
        r.message   = response.Status;

        SendServiceConnectedEvent(r);
    }
Пример #23
0
 protected void SendServiceConnectedEvent(UM_BillingConnectionResult e)
 {
     OnServiceConnected(e);
 }