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(); }