public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { PlayerPrefs.SetInt("hasMadePurchase", 1); // PlayerPrefs.SetInt("displayThankYou",1); Social.ReportProgress("CgkIqeb0_poSEAIQEA", 100.0f, (bool success) => { }); }
public void onMarketPurchaseStarted(string message) { StoreUtils.LogDebug(TAG, "SOOMLA/UNITY onMarketPurchaseStarted: " + message); PurchasableVirtualItem pvi = (PurchasableVirtualItem)StoreInfo.GetItemByItemId(message); Events.OnMarketPurchaseStarted(pvi); }
/// <summary> /// Handles a market purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> /// <param name="purchaseToken">Purchase token.</param> public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { if (pvi.ItemId == GameAssets.NO_ADS.ItemId) { //You will have to implement this yourself, the easy way is to use PlayerPerfs and just save a bool. //IAPStates.WRITE_REMOVE_ADS(); } }
/// <summary> /// Handles an item purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { switch (pvi.ID) { case SlotStore.FIFTYCURRENCY_PACK_PRODUCT_ID: NotificationCenter.DefaultCenter().PostNotification(this, "pack50"); break; } }
public void onMarketPurchase(string message) { Debug.Log("SOOMLA/UNITY onMarketPurchase:" + message); PurchasableVirtualItem pvi = (PurchasableVirtualItem)StoreInfo.GetItemByItemId(message); Events.OnMarketPurchase(pvi); }
public void onMarketRefund(PurchasableVirtualItem pvi) { // pvi - the PurchasableVirtualItem to refund if (pvi.ID == ShapeValeStore.NO_ADS_LIFETIME_PRODUCT_ID) { StoreInventory.TakeItem(ShapeValeStore.NO_ADS_LIFETIME_PRODUCT_ID, 1); } // ... your game specific implementation here ... }
public void onMarketRefund(PurchasableVirtualItem pvi) { int id = GetID(pvi.ItemId); if (id > 0) { frogPackages.LockPackage(id); } }
// public void OnGoodBalanceChanged(VirtualGood good, int balance, int amountAdded) // { // Debug.Log ("Balance changed"); // int id = GetID(good.ItemId); // if(id > 0 && balance > 0) // FrogPackages.Instance.RestorePurchase(id); //else if(id > 0 && balance < 1) // FrogPackages.Instance.LockPackage(id); // } public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { int id = GetID(pvi.ItemId); if (id > 0 && pvi.GetBalance() > 0) { frogPackages.PurchaseFrogFromStore(id); } }
void onMarketPurchase(PurchasableVirtualItem item, string payload, Dictionary <string, string> extra) { if (payload != developerPayload) { return; } AudioAssistant.Shot("Buy"); BerryStorePurchaser.Succeed(item.ItemId); }
public void OnMarketPurchaseStarted(PurchasableVirtualItem pvi) { Debug.Log("OnMarketPurchaseStarted: " + pvi.ItemId); s += "OnMarketPurchaseStarted: " + pvi.ItemId; #if UNITY_EDITOR TeamBrookvale.Game.IAPMediator.InvokeIAPThankYou(); #endif }
void onItemPurchased(PurchasableVirtualItem item, string payload) { if (payload != developerPayload) { return; } AudioAssistant.Shot("Buy"); BerryStorePurchaser.Succeed(item.ItemId); }
public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { // pvi - the PurchasableVirtualItem that was just purchased // payload - a text that you can give when you initiate the purchase operation and // you want to receive back upon completion // extra - contains platform specific information about the market purchase // Android: The "extra" dictionary will contain: 'token', 'orderId', 'originalJson', 'signature', 'userId' // iOS: The "extra" dictionary will contain: 'receiptUrl', 'transactionIdentifier', 'receiptBase64', 'transactionDate', 'originalTransactionDate', 'originalTransactionIdentifier' }
/// <summary> /// Handles an item purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { errorMsg = "Removed ads.\n Thanks!"; if (pvi.ItemId == GameAssets.NO_ADS.ItemId) { //You will have to implement this yourself, the easy way is to use PlayerPerfs and just save a bool. //IAPStates.WRITE_REMOVE_ADS(); } }
public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { Debug.Log("__Buy READY: " + pvi.ID); if (pvi.ID == StoreAssets.SEASON_2_UNLOCK_PRODUCT_ID || pvi.ID == StoreAssets.SEASON_3_UNLOCK_PRODUCT_ID || pvi.ID == StoreAssets.SEASONS_ALL_UNLOCK_PRODUCT_ID ) { Invoke("BuyReady", 0.5f); } }
// soomla event - item purchased public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { print("onItemPurchased called"); Calendar c = GameObject.FindObjectOfType <Calendar>(); if (c != null) { c.ReloadCalendar(); } Upgrade.PurchaseUpgrade_callback(true); }
public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { if (purchase) { purchase.CloseWindow(); } selectionPanel.UnselectAllButtons(); Debug.Log("onMarketPurchase"); }
private void OnItemPurchased(PurchasableVirtualItem pvi, string payload) { if (purchase) { purchase.CloseWindow(); } Debug.Log("OnItemPurchased"); selectionPanel.UnselectAllButtons(); }
/** * Retrieves a single <code>PurchasableVirtualItem</code> that resides in the metadata. * IMPORTANT: The retrieved <code>PurchasableVirtualItem</code> has a <code>PurchaseType</code> * of <code>PurchaseWithMarket</code> (This is why we fetch here with <code>productId</code>). * * @param productId the product id of the purchasable item to be fetched * @return <code>PurchasableVirtualItem</code> * @throws VirtualItemNotFoundException if no PurchasableVirtualItem with the given * productId was found. */ public static PurchasableVirtualItem getPurchasableItem(String productId) { PurchasableVirtualItem item = mPurchasableItems[productId]; if (item == null) { throw new VirtualItemNotFoundException("productId", productId); } return(item); }
/* * public void onItemPurchased(PurchasableVirtualItem pvi, string payload) * { * * switch (pvi.ItemId) * { * case StoreAssets.NO_ADS_PRODUCT_ID: * PlayerPrefs.SetInt ("noadsowned",1); * GameObject.Find("GameController").SendMessage("ReklamKaldir",SendMessageOptions.DontRequireReceiver); * GameObject.Find("iAD").SendMessage("ReklamKaldir",SendMessageOptions.DontRequireReceiver); * break; * } * * } */ public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { switch (pvi.ItemId) { case StoreAssets.NO_ADS_ITEM_ID: PlayerPrefs.SetInt("noadsowned", 1); GameObject.Find("GameController").SendMessage("ReklamKaldir", SendMessageOptions.DontRequireReceiver); GameObject.Find("iAD").SendMessage("ReklamKaldir", SendMessageOptions.DontRequireReceiver); break; } }
public void onMarketPurchaseCancelled(PurchasableVirtualItem pvi) { // pvi - the PurchasableVirtualItem whose purchase operation was cancelled if (purchase) { purchase.CloseWindow(); } selectionPanel.UnselectAllButtons(); Debug.Log("onMarketPurchaseCancelled"); }
/** * Handles a cancelled purchase by either posting an event containing a * <code>PurchasableVirtualItem</code> corresponding to the given purchase, or an unexpected * error event if the item was not found. * * @param purchase cancelled purchase to handle. */ private void handleCancelledPurchase(String productId, bool error) { SoomlaUtils.LogDebug(TAG, "TODO handleCancelledPurchase"); try { PurchasableVirtualItem v = StoreInfo.getPurchasableItem(productId); StoreEvents.GetInstance().PostMarketPurchaseCancelledEvent(v); } catch (VirtualItemNotFoundException e) { SoomlaUtils.LogError(TAG, "(purchaseActionResultCancelled) ERROR : Couldn't find the " + "VirtualCurrencyPack OR MarketItem with productId: " + productId + ". It's unexpected so an unexpected error is being emitted."); StoreEvents.GetInstance().PostUnexpectedStoreErrorEvent(e.Message); } }
private void unityAnalyticsPurchase(PurchasableVirtualItem io_PVI, Dictionary<string, string> io_Extra) { #if UNITY_IPHONE bool onlyReceipt = extra.ContainsKey("receiptBase64"); if (onlyReceipt) { Analytics.Transaction(pvi.ID, (decimal)0.99, "US Dollar", extra["receiptBase64"], null); } else { Analytics.Transaction(pvi.ID, (decimal)0.99, "US Dollar", null, null); } #endif #if UNITY_ANDROID bool allDataPresent = io_Extra.ContainsKey("originalJson") && io_Extra.ContainsKey("signature"); bool onlyReceipt = io_Extra.ContainsKey("originalJson"); bool onlySignature = io_Extra.ContainsKey("signature"); if (allDataPresent) { Analytics.Transaction(io_PVI.ID, (decimal)0.99, "US Dollar", io_Extra["originalJson"], io_Extra["signature"]); } else if (onlyReceipt) { Analytics.Transaction(io_PVI.ID, (decimal)0.99, "US Dollar", io_Extra["originalJson"], null); } else if (onlySignature) { Analytics.Transaction(io_PVI.ID, (decimal)0.99, "US Dollar", null, io_Extra["signature"]); } else { Analytics.Transaction(io_PVI.ID, (decimal)0.99, "US Dollar", null, null); } #endif }
/** * Consumes the given purchase, or writes error message to log if unable to consume * * @param purchase purchase to be consumed */ private void consumeIfConsumable(PurchasableVirtualItem pvi) { SoomlaUtils.LogDebug(TAG, "TODO consumeIfConsumable"); try { if (!(pvi is NonConsumableItem)) { StoreManager.GetInstance().Consume(pvi.getItemId()); } } catch (Exception e) { SoomlaUtils.LogDebug(TAG, "Error while consuming: itemId: " + pvi.getItemId()); StoreEvents.GetInstance().PostUnexpectedStoreErrorEvent(e.Message); } }
private static bool assetsArrayHasMarketIdDuplicates(PurchasableVirtualItem[] assetsArray) { HashSet<String> marketIds = new HashSet<String>(); foreach (PurchasableVirtualItem pvi in assetsArray) { if (pvi.PurchaseType.GetType() == typeof(PurchaseWithMarket)) { String currentMarketId = ((PurchaseWithMarket)pvi.PurchaseType).MarketItem.ProductId; if (marketIds.Contains(currentMarketId)) { return false; } else { marketIds.Add(currentMarketId); } } } return true; }
void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { if (pvi.ID == StoreAssets.SEASON_2_UNLOCK_PRODUCT_ID) { season_2_unlocked = true; } else if (pvi.ID == StoreAssets.SEASON_3_UNLOCK_PRODUCT_ID) { season_3_unlocked = true; } else if (pvi.ID == StoreAssets.SEASONS_ALL_UNLOCK_PRODUCT_ID) { season_2_unlocked = true; season_3_unlocked = true; } }
// Set the avatar and tail player pref to the name of the selected (middle) avatar game object in the store scroll public void setAvatar(string avatar_name) { int virtual_item_balance = 0; int market_item_balance = 0; // Default avatar and tail balance is always 1 if (avatar_name == "default_avatar" || avatar_name == "default_tail" || avatar_name == "orange_avatar" || avatar_name == "orange_tail") { virtual_item_balance = 1; } // Check balance of reward avatar else if (RewardedAvatars.avatar_balance_index_map.ContainsKey(avatar_name)) { if (RewardedAvatars.isAvatarUnlocked(avatar_name)) { virtual_item_balance = 1; } } // Look for balances on avatars and tails that are purchasable else { PurchasableVirtualItem virtual_item = (PurchasableVirtualItem)StoreInfo.GetItemByItemId(avatar_name); PurchasableVirtualItem market_item = (PurchasableVirtualItem)StoreInfo.GetItemByItemId("soap_" + avatar_name); virtual_item_balance = virtual_item.GetBalance(); market_item_balance = market_item.GetBalance(); } // Set the player pref if the item has been earned/purchased if (virtual_item_balance == 1 || market_item_balance == 1) { if (avatar_name.Contains("avatar")) { PlayerPrefs.SetString("Avatar", avatar_name); Debug.Log(string.Format("Avatar player pref set to: {0}", avatar_name)); } else { PlayerPrefs.SetString("Tail", avatar_name); Debug.Log(string.Format("Tail player pref set to: {0}", avatar_name)); } } }
private static void OnMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { PurchaseWithMarket purchaseWithMarket = pvi.PurchaseType as PurchaseWithMarket; if (purchaseWithMarket != null) { MarketItem marketItem = purchaseWithMarket.MarketItem; if (Application.platform == RuntimePlatform.Android) { EventTracker tracker = AdBoostUnity.getEventTracker(); tracker.sendRevenueEvent( marketItem.MarketCurrencyCode, marketItem.Price, pvi.ItemId ); } } }
public void OnMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary<string, string> extra) { Debug.Log("This happened only after purchase was successful " + pvi.ID); unityAnalyticsPurchase(pvi, extra); switch (pvi.ID) { case ORBS_ID: GetComponent<StorePresenter>().PurchasedTenOrbs(); break; case OLD_ANIMATIONS_ID: GetComponent<StorePresenter>().unlockYinYan(); break; } LevelManager.manager.StoreSave(); LevelManager.manager.Load(); }
// Get the virtual and real money cost of the item public string[] getPrices(string item_id) { string[] price_list = new string[2]; PurchasableVirtualItem virtual_item = (PurchasableVirtualItem)StoreInfo.GetItemByItemId(item_id); PurchasableVirtualItem market_item = (PurchasableVirtualItem)StoreInfo.GetItemByItemId("soap_" + item_id); // Get cost in coins PurchaseWithVirtualItem virtual_purchase = (PurchaseWithVirtualItem)virtual_item.PurchaseType; price_list[0] = virtual_purchase.Amount.ToString(); // Get cost in real money PurchaseWithMarket market_purchase = (PurchaseWithMarket)market_item.PurchaseType; price_list[1] = market_purchase.MarketItem.Price.ToString(); return(price_list); }
// Update the prices when an item is bought with real money in the store public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { GameObject temp_1 = GameObject.Find("store_ui_gr"); if (temp_1 != null) { store_manager_script = temp_1.GetComponent <SOAPStoreManager>(); } string avatar_id = pvi.ItemId; // To prevent erroring out when an item is bought with real money // (store manager will attempt to look up "soap_soap_" without this check and fail) if (avatar_id.Contains("soap_")) { avatar_id = avatar_id.Replace("soap_", ""); } // Unlock achievement for buying an avatar or tail with real money if (avatar_id.Contains("avatar")) { store_manager_script.updatePrices(avatar_id); #if UNITY_ANDROID Achievements.massiveFacialReconstructionAchievement(); #endif } else if (avatar_id.Contains("tail")) { store_manager_script.updatePrices(avatar_id); #if UNITY_ANDROID Achievements.sheddingSeasonAchievement(); #endif } // Give rocketman avatar and tail for removing ads if (avatar_id == "soap_no_ads") { RewardedAvatars.incrementAvatarBalance(RewardedAvatars.rocketman_avatar_rwd); RewardedAvatars.incrementAvatarBalance(RewardedAvatars.rocketman_tail_rwd); } }
private void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { // pvi is the PurchasableVirtualItem that was just purchased // payload is a text that you can give when you initiate the purchase operation and you want to receive back upon completion // extra will contain platform specific information about the market purchase. // Android: The "extra" dictionary will contain "orderId" and "purchaseToken". // iOS: The "extra" dictionary will contain "receipt" and "token". #if UNITY_ANDROID string purchaseToken, orderId; if (!extra.TryGetValue("purchaseToken", out purchaseToken)) { purchaseToken = string.Empty; } if (!extra.TryGetValue("orderId", out orderId)) { orderId = string.Empty; } var item = ((PurchaseWithMarket)pvi.PurchaseType).MarketItem; FuseSDK.RegisterAndroidInAppPurchase(FuseMisc.IAPState.PURCHASED, purchaseToken, item.ProductId, orderId, DateTime.Now, payload, item.Price, item.MarketCurrencyCode); #elif UNITY_IOS string token, receipt; if (!extra.TryGetValue("token", out token)) { token = string.Empty; } if (!extra.TryGetValue("receipt", out receipt)) { receipt = string.Empty; } var item = ((PurchaseWithMarket)pvi.PurchaseType).MarketItem; FuseSDK.RegisterIOSInAppPurchase(item.ProductId, token, System.Text.Encoding.UTF8.GetBytes(receipt), FuseMisc.IAPState.PURCHASED); #endif }
public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary <string, string> extra) { // pvi - the PurchasableVirtualItem that was just purchased // payload - a text that you can give when you initiate the purchase operation and // you want to receive back upon completion // extra - contains platform specific information about the market purchase // Android: The "extra" dictionary will contain: 'token', 'orderId', 'originalJson', 'signature', 'userId' // iOS: The "extra" dictionary will contain: 'receiptUrl', 'transactionIdentifier', 'receiptBase64', 'transactionDate', 'originalTransactionDate', 'originalTransactionIdentifier' // ... your game specific implementation here ... if (pvi.ItemId.Equals(NumberGameAssets.NO_ADS_ITEM_ID)) { GameData.Instance.noAd = 99; GameData.Instance.Save(); } else if (pvi.ItemId.Equals(NumberGameAssets.PACKET1_ITEM_ID)) { GameData.Instance.multiRemainingGameCount += 1000; GameData.Instance.Save(); } else if (pvi.ItemId.Equals(NumberGameAssets.PACKET2_ITEM_ID)) { GameData.Instance.multiRemainingGameCount += 3000; GameData.Instance.Save(); } else if (pvi.ItemId.Equals(NumberGameAssets.PACKET3_ITEM_ID)) { GameData.Instance.multiRemainingGameCount += 5000; GameData.Instance.Save(); } purchasedLabel.text = string.Format("Purchased {0}", pvi.ItemId); }
/// <summary> /// Handles an item purchase started event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onItemPurchaseStarted(PurchasableVirtualItem pvi) { }
/// <summary> /// Handles an item purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { }
/// <summary> /// Handles an item purchase cancelled event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onMarketPurchaseCancelled(PurchasableVirtualItem pvi) { }
/// <summary> /// Handles a market purchase verification started event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onVerificationStarted(PurchasableVirtualItem pvi) { }
public void onMarketRefund (PurchasableVirtualItem marketItem) { }
/// <summary> /// Handles a market refund event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onMarketRefund(PurchasableVirtualItem pvi) { }
/// <summary> /// Handles an item purchase deferred event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> /// <param name="payload">Developer supplied payload.</param> public void onMarketPurchaseDeferred(PurchasableVirtualItem pvi, string payload) { }
/// <summary> /// Handles a market purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> /// <param name="purchaseToken">Purchase token.</param> public void onMarketPurchase(PurchasableVirtualItem pvi, string payload, Dictionary<string, string> extra) { }
/// <summary> /// Handles a market purchase event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> /// <param name="purchaseToken">Purchase token.</param> public void onMarketPurchase(PurchasableVirtualItem pvi, string purchaseToken, string payload) { }
public void onItemPurchaseStarted (PurchasableVirtualItem marketItem) { }
public void onMarketPurchase (PurchasableVirtualItem marketItem) { AndyUtils.LogDebug(TAG, "Going to purchase an item with productId: " + marketItem.ItemId); }
public void onItemPurchased (PurchasableVirtualItem marketItem) { Debug.Log(TAG + " Purchased " + marketItem.ItemId); }
/// <summary> /// Handles a market purchase started event. /// </summary> /// <param name="pvi">Purchasable virtual item.</param> public void onMarketPurchaseStarted(PurchasableVirtualItem pvi) { }
public void OnItemPurchased(PurchasableVirtualItem pvi, string payload) { Debug.Log( "OnItemPurchased: " + pvi.ItemId ); }
public void onItemPurchaseStarted(PurchasableVirtualItem pvi) { // pvi - the PurchasableVirtualItem whose purchase operation has just started // ... your game specific implementation here ... }
public void OnMarketPurchaseStarted(PurchasableVirtualItem pvi) { Debug.Log( "OnMarketPurchaseStarted: " + pvi.ItemId ); }
// method that fires a purchase error (overload) private static void PurchaseFailed(PurchasableVirtualItem prod) { PurchaseFailed("User cancelled."); }
// verifica ce item a cumparat public void onItemPurchased(PurchasableVirtualItem pvi, string payload) { UpdateAmmo(); StartCoroutine(projShootScript.ShootTimer()); }