private void Awake()
    {
        UpdateStatusBar();
        var observer = new UM_TransactionObserverExample();

        observer.OnProductUnlock += UpdateStatusBar;

        UM_InAppService.Client.SetTransactionObserver(observer);

        m_ConnectButton.onClick.AddListener(() =>
        {
            m_ConnectButton.interactable = false;
            UM_InAppService.Client.Connect(result =>
            {
                if (result.IsSucceeded)
                {
                    foreach (var purchaseButton in m_PurchaseButtons)
                    {
                        purchaseButton.UpdateButtonView();
                    }
                }
                else
                {
                    m_ConnectButton.interactable = true;
                    UM_DialogsUtility.ShowMessage("Error", result.Error.FullMessage);
                }
            });
        });

        m_ClearPlayerPrefs.onClick.AddListener(() =>
        {
            UM_RewardManager.Reset();
            UpdateStatusBar();
        });


        m_RestorePurchases.onClick.AddListener(UM_InAppService.Client.RestoreCompletedTransactions);
        m_RestorePurchases.gameObject.SetActive(Application.platform == RuntimePlatform.IPhonePlayer ||
                                                Application.isEditor);

        foreach (var purchaseButton in m_PurchaseButtons)
        {
            purchaseButton.Button.onClick.AddListener(() =>
            {
                UM_InAppService.Client.AddPayment(purchaseButton.ProductId);
            });
        }
    }
    private void UnlockProduct(UM_iTransaction transaction)
    {
        //Reward your used based on transaction.Id
        switch (transaction.ProductId)
        {
        case k_CoinsProductId:
            UM_RewardManager.AddCoins();
            break;

        case k_GoldStatusProductId:
            UM_RewardManager.ActivateGold();
            break;

        default:
            Debug.LogError("Unknown product Id: " + transaction.ProductId);
            break;
        }

        OnProductUnlock.Invoke();
    }