Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

Simple In-App Purchase System (SIS) - Shop solution

Discussion in 'Assets and Asset Store' started by Baroni, Aug 8, 2013.

?

Which billing plugin are you using in combination with Simple IAP System?

  1. Unity IAP

    64 vote(s)
    83.1%
  2. Voxel Busters

    4 vote(s)
    5.2%
  3. Stans Assets

    9 vote(s)
    11.7%
  4. Prime31

    0 vote(s)
    0.0%
  1. Fcaldas

    Fcaldas

    Joined:
    Jul 6, 2015
    Posts:
    21
    Good news, I think it will work
    I was testing with one account that was not the owner account (but had the permission to be a tester) and now I tried with the owner account and managed at least to see the Google Play In App screen. Got an error due to APK version. Letts see if after correcting this everything goes fine.
     
  2. Fcaldas

    Fcaldas

    Joined:
    Jul 6, 2015
    Posts:
    21
    @Baroni Thanks a lot for the offer! I will let you know how I get on! Danke
     
  3. Fcaldas

    Fcaldas

    Joined:
    Jul 6, 2015
    Posts:
    21
    @Baroni I can see the InApp Purchase screen now with the price.
    But it tells me it's a Test Purchase and that I won't be charged.
    Where do I unset Test Purchases?
     
  4. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    If you publish your app on the store and aren't using a test account, this will happen automatically. Test purchases are not available on a production app per definition. It's totally fine to test with test purchases though, unless you really want to pay Google 30% of your own wallet...
     
  5. Fcaldas

    Fcaldas

    Joined:
    Jul 6, 2015
    Posts:
    21
    @Baroni
    Oh, I was essentially doing something very wrong.
    It's working!

    Baroni, your asset is by far the best for IAPs in the asset store! Well done mate! I can't hardly wait to build a proper store for my game.
    Soon I will leave you a nice review
     
    Last edited: Nov 17, 2015
    Fronne and Baroni like this.
  6. jianloong

    jianloong

    Joined:
    Dec 7, 2013
    Posts:
    6
    Hi @Baroni ,

    I using Simple IAP for IOS platform, i setup my app store IAP item, using ur demo scene, setup, finish setup IAP setting in unity, but when i build into xcode it have error, anything i need to turn on in the xcode??
     
  7. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Hi @jianloong, make sure that the StoreKit framework is included in the Linked Frameworks and Libraries section. If you are using OpenIAB, this has to be done manually. If this doesn't solve the problem, please post the error message you are seeing.
     
  8. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni ,

    How can I refresh or restart the ShopManager to get my products refreshed, in my case :
    Code (CSharp):
    1. public void ChooseCharacter(string _character)
    2.     {
    3.         switch (_character)
    4.         {
    5.             case "one":
    6.                 DBManager.SetToSelected("one",true);
    7.                 DBManager.SetToDeselected("two");
    8.                 StartCoroutine(ActivatePlayer());
    9.                 Debug.Log("ONE  IS CHOOSED!");
    10.                 break;
    11.  
    12.             case "two":
    13.                 DBManager.SetToSelected("two", true);
    14.                 DBManager.SetToDeselected("one");
    15.                 StartCoroutine(ActivatePlayer());
    16.                 Debug.Log("TWO IS CHOOSED!");
    17.                 break;
    18.         }
    19.     }
    20.  
    21. IEnumerator ActivatePlayer()
    22.     {
    23.         ShopManager.SetItemState();
    24.          yield return new WaitForSeconds(1);
    25.          player.SetSkin();
    26.     }
    27.  
    To work I need reopen my scene, is there a possibility to do it another way ?
     
  9. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @D0R1N ShopManager.SetItemState should work. What do you have issues with?
     
  10. jianloong

    jianloong

    Joined:
    Dec 7, 2013
    Posts:
    6
    hi @Baroni ,

    I added storekit framework, still have error. Thanks
     

    Attached Files:

  11. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @jianloong Thanks for the screenshot, but I can't reproduce this with Unity 5.2 and Xcode 7 at the moment. If this issue is with OpenIAB, please switch to our Unity 5.3 and Unity IAP integration next week. The developers of OpenIAB do not support their plugin anymore so I will remove it very soon.
     
  12. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni ,

    I fixed the issue with ShopManager.SetItemState , but I have a urgently perplexity for IAP's, all I need to do is to set an string (tag) for an item bought in my shop to be parsed in Google Analytics or in Google Play Developer Console, can you please guide me how to achieve this ?
    Thanks in advance !
     
  13. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @D0R1N I don't know what you mean by parsed, what information do you need? Have you tried sending the product ID to Google Analytics.
     
  14. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    @Baroni ...I just want to send like a custom event on GAnalytics the product id, price, tax, and a string -> a custom tag, what is the best way to achieve this ?
     
  15. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    We've talked about this already per pm few weeks ago. Here's another thread about it.
     
  16. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hey @Baroni ,

    I know, but I still didn't fix this issue, I will try something...also and I'm using the Stans Asset , I will try via Custom Events , and let you know if I've done it. Thanks !
     
  17. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Announcement

    Starting with the next update (v3.0), Simple IAP System removes support for OpenIAB and Unibill for all Unity versions. Both are no longer under active development by their developers and should not be used for new apps. Unity IAP in Unity 5.3 replaces the free billing option in Simple IAP System. This is what it will look like:



    Note: Amazon inclusion is currently under development by Voxel Busters and Stan's Assets.
     
    Fronne and InfinityCoder88 like this.
  18. Fronne

    Fronne

    Joined:
    Sep 25, 2014
    Posts:
    97
    I was waiting with implementing the IAP part because I thought it was better to wait for Unity 5.3. One of the reasons I decided to wait was the power and support of Unity. The Cross Platform Native Plugins - Ultra Pack from Voxel Busters is half price at this moment and this might happen with other plugins too with the release of Unity 5.3...

    I think there's a good possibility support and development of the other plugins wil stop in the near future. I am using Unity release 5.1.3 at the moment because I have some serious issues with Unity 5.2 and above. I was surprised Soomla decided to increase the price of there plugins from free to €44 - €53 each...

    Can you tell us when to aspect SIS 3.0? I have to make some decisions next week because our game is almost finished and we want to publish it within two weeks or so. We don't own Unity Pro so we didn't play with the 5.3 Beta Release, will implementation of Unity IAP be as simple as the other plugins?

    Thanks in advance,
    Franco Palmieri - Fronne
     
  19. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Hey Franco,
    Soomla's products are still free on github and by signing up for their GROW platform, or cheaper by using our Simple IAP System for SOOMLA asset. They just increased the price of their Asset Store products to lower their support burden, which has been announced on their blog this week.

    On Tuesday, December 8th ;)

    Absolutely. Even simpler I would assume, because Unity handles all the AndroidManifest / Xcode stuff for you. Currently I'm writing guides for Google Play and iTunes to get the app store part going and for use with Simple IAP System.
     
    Fronne likes this.
  20. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni ,

    How can I edit / modify the Billing Response's text : 1005 User canceled, response: -1005 User cancelled ? Thanks !
     
  21. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @D0R1N
    That's a response from the billing plugin you are using, not SIS. SIS messages are defined in the IAPListener and IAPManager scripts only.
     
    InfinityCoder88 likes this.
  22. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Unibill has been bought out by Unity and is now Unity IAP?

    Will Unity IAP eventually support Amazon like Unibill did? Thank you
     
    Fronne likes this.
  23. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Something like that, but better.

    Likely, but I'm unsure why you are asking me :)
     
    Fronne likes this.
  24. Skyless-Games

    Skyless-Games

    Joined:
    Oct 8, 2015
    Posts:
    6
    I am having a weird problem with SIS. In our project we had SIS setup in a store scene and connected to the various app stores - everything was working fine. However, without making any changes to our SIS setup we are now getting this odd bug that causes the system to instantiate all of our IAP items twice. So under the container that holds the store listings we have IAPItem000, IAPItem001, IAPItem002...,IAPItem000, IAPItem001, IAPItem002... This is happening both in the editor and in builds.

    Even stranger is that this only happens when we start the game in another scene then navigate to the store scene. If we run the game in editor starting from the store scene, it instantiates the IAP items correctly.

    Any thoughts?
     
  25. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    #7 My shop items are duplicated.
    Make sure that the IAPManager prefab is only placed in the first scene of your app and that you start your game from there.
    Source: http://www.rebound-games.com/forum/index.php?topic=306.0
     
  26. eridani

    eridani

    Joined:
    Aug 30, 2012
    Posts:
    655
    Lol I don't know either, so far you answer everything I ask you :D I should ask you the secret to life
     
    Fronne likes this.
  27. Fronne

    Fronne

    Joined:
    Sep 25, 2014
    Posts:
    97
    You might be involved in some kind of a conspiracy, you just know to much... ;)
    SIS 3.0 was avaiable at the very same moment as Unity 5.3... :cool:
    Did you manage to finish writing the guides already?
    If so, please tell us where to find them...
    If no, when can we expect them and where can we grab them?

    Cheers,
    Franco Palmieri - Fronne
     
  28. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @Fronne
    Conspiracy theories! Oh nooo... :)
    The guide for Google Play is already available on our support forum. iOS will follow in the coming days and (1-2) weeks.
     
    Fronne likes this.
  29. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni , I migrated to Unity 3.0 and SIS 3.0 ...I get this error:
    Assets/SIS/Editor/IAPLocalizationEditor.cs(122,47): error CS1061: Type `SIS.IAPManager' does not contain a definition for `IGCs' and no extension method `IGCs' of type `SIS.IAPManager' could be found (are you missing a using directive or an assembly reference?)
     
  30. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @D0R1N
    Did you fully delete the old SIS folder and imported the new localization package?

    Edit: I can see that you didn't, because the SIS folder has been renamed. Version 3.0 is not backwards compatible.
     
  31. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Yes Baroni, now works perfect ;) ...I got 2 more questions:

    1. It's possible to get the total amount of virtual currency spent in game ?

    2. It's possible to save on google cloud (saved games) all the virtual purchases made in game, I found a way but only for individual item, let's say a number of bullets, some skins etc.

    Cheers,
     
  32. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Not without introducing a separate variable in the save file, no. If you only want to know how much a user spent then Unity Analytics would be a perfect fit.

    All player and IAP data is saved in an (optionally encrypted) PlayerPrefs file named "data". You are using this save file for virtual items already. You can read the whole string in this file and send that to a cloud service.
     
  33. Fronne

    Fronne

    Joined:
    Sep 25, 2014
    Posts:
    97
    Hi Baroni,

    Can you tell us when to aspect the iOS guide?

    Cheers,
    Franco Palmieri - Fronne
     
  34. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    2 weeks aren't over yet ;) It is likely that I will have some time to finish it during the holidays. Currently I don't see a real need for rushing things as Apple shuts down iTunes Connect until New Year anyway.
     
    Fronne likes this.
  35. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    O.K Thanks @Baroni ,

    I use ANP plugin for google cloud save, I successfully save and send data from my game on cloud, I want the same way to achieve this method to send purchased products on cloud like you said my e.g :

    Save data files:
    Code (CSharp):
    1.  
    2. string dataForPeGoogle = ANMiniJSON.Json.Serialize(JsonDataGP);
    3.  
    4.         long timeInGame= time;
    5.         string currentSavedGame = "Game _save_" + Random.Range(1, 281).ToString();
    6.         string description = "Latest modification: " + System.DateTime.Now.ToString("MM/dd/yyyy H:mm:ss");
    7.  
    8.         GooglePlaySavedGamesManager.ActionGameSaveResult += ActionGameSaveResult;
    9.         GooglePlaySavedGamesManager.Instance.CreateNewSnapshot(currentSavedGame, description, img, JsonDataGP, time);
    10.  
    Load data files:
    Code (CSharp):
    1.  
    2. private void ActionGameSaveLoaded(GP_SpanshotLoadResult result){
    3.      
    4.         Debug.Log("ActionGameSaveLoaded: " + result.message);
    5.         if (result.isSuccess)
    6.         {
    7.             Dictionary<string, object> JsonDeserialized = ANMiniJSON.Json.Deserialize(result.Snapshot.stringData) as Dictionary<string, object>;
    8.             foreach (KeyValuePair<string, object> pair in JsonDeserialized)
    9.             {
    10.                 int _PairValue = int.Parse(pair.Value.ToString());
    11.                 PlayerPrefs.SetInt(pair.Key, _PairValue);
    12.                 Debug.Log(string.Format("{0} {1}", pair.Key, pair.Value));
    13.             }
    14. }
    15.  
    *The question is ...can I save and load the same way the shop data ?
    Thanks!
     
  36. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Code (csharp):
    1. //get SIS app data
    2. string SISData = PlayerPrefs.GetString("data");
    3. //send SISData value to Google Cloud
    4. //...
    5.  
    6. //overwrite SIS app data from received string
    7. PlayerPrefs.SetString("data", receivedString);
    8. DBManager.ClearAll();
    9. DBManager.GetInstance().Init();
     
    InfinityCoder88 likes this.
  37. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hey @Baroni ,

    I didn't managed overwrite data for SIS, my code:
    Code (CSharp):
    1.  
    2. private void ActionGameSaveLoaded(GP_SpanshotLoadResult result)
    3.     {    
    4.         Debug.Log("ActionGameSaveLoaded: " + result.message);
    5.         if (result.isSuccess)
    6.         {
    7.             Dictionary<string, object> JsonDeserialized = ANMiniJSON.Json.Deserialize(result.Snapshot.stringData) as Dictionary<string, object>;
    8.  
    9.             foreach (KeyValuePair<string, object> pair in JsonDeserialized)
    10.             {
    11.                 int pairVALUE= int.Parse(pair.Value.ToString());
    12.                 string pairNAME = pair.Key.ToString();
    13.  
    14.                 PlayerPrefs.SetInt(pair.Key, pairVALUE);
    15.  
    16.                 if (pairNAME == "data")
    17.                 {
    18.                     PlayerPrefs.SetString(pairNAME, pair.Value.ToString());
    19.                     DBManager.ClearAll();
    20.                     DBManager.GetInstance().Init();
    21.                     Debug.Log("<<<********************SIS DATA**********************>>>");
    22.                 }
    23.  
    24.                 Debug.Log(string.Format("{0} {1}", pair.Key, pair.Value));
    25.             }
    26.  
    27.             AndroidMessage.Create("Snapshot Loaded", "Data: " + result.Snapshot.stringData);
    28.         }
    29.     }
    *I get this error:
    12-20 17:56:42.645 30668-30703/? I/Unity﹕ FormatException: Input string was not in the correct format at System.Int32.Parse (System.String s) [0x00000] in <filename unknown>:0 at SalvariCloudGP.ActionGameSaveLoaded (.GP_SpanshotLoadResult result) [0x00000] in <filename unknown>:0 at (wrapper delegate-invoke) System.Action`1<GP_SpanshotLoadResult>:invoke_void__this___GP_SpanshotLoadResult (GP_SpanshotLoadResult) at (wrapper delegate-invoke) System.Action`1<GP_SpanshotLoadResult>:invoke_void__this___GP_SpanshotLoadResult (GP_SpanshotLoadResult) at GooglePlaySavedGamesManager.OnSavedGamePicked (System.String data) [0x00000] in <filename unknown>:0 (Filename: Line: -1)

    What I did wrong ?
     
  38. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    You are parsing the full string to an integer at line 11 which should not work, as the data value is not a number. Honestly I don't know what you are doing there; why do you have to iterate over key value pairs? Sending and receiving the data string should be enough. I posted the code above to show how to get and overwrite all data of Simple IAP System, please ask the Stan's Assets guys on how to use their Google Saved Games methods.
     
  39. xion357

    xion357

    Joined:
    Dec 22, 2015
    Posts:
    3
    im doing an app, is for android and ios in unity 5.1.2... so
    1. Simple IAP System will work?
    2. only need this package and nothing more?
    3. which is better, Simple version or Soomla version?
     
  40. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Hi @xion357,
    1. Yes.
    2. Please see the matrix of supported platforms and Unity versions in the first post.
    3. Depends on your favorite billing plugin choice, Simple IAP System has the same functionality across all versions.
     
  41. xion357

    xion357

    Joined:
    Dec 22, 2015
    Posts:
    3
    Thank you xD.

    but ... what do you mean with: "Depends on your favorite billing plugin choise"?

    you say I need to have another plugin for billing? or
    this package have multiple forms of billing and i have to chose one?
     
  42. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    Simple IAP System is not a billing plugin and does not contain any native code for iOS or Android. It is a shop solution system for managing in app purchases in Unity. You will need a billing plugin supported by SIS in order to use it. As you can see on the first page, Unity IAP is free and available starting from Unity 5.3 onwards (SOOMLA is free too and for Unity 5.0+). If you would like to use an older Unity version or different billing plugin, you have to own (and pay for) that. We support the most popular billing plugins.
     
  43. xion357

    xion357

    Joined:
    Dec 22, 2015
    Posts:
    3
    ooooOOOH i get it. thank you.

    which one do you think is the best of the matrix: voxel, stan or prime.
    because i need items, usable (1 use ) and subscription... and if i have to buy one i prefer the best

    and sorry to be so annoying xP

    another question ... soomla is good too?
    and of course i will buy Simple IAP System
     
  44. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @xion357
    As I said, it really depends on what you would like to use.
    - Prime is industry-proven, but most expensive and has nothing besides in app purchases
    - Unity IAP is free for Unity 5.3+ and has analytics
    - Voxel Busters, Stan and SOOMLA provide much more (mostly push notifications, popups, camera and gallery stuff, social sharing and so on). You would have to identify your needs to make a decision, I can't do that for you ;)
     
  45. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni ,
    I got a issue :( I downgrade from Unity 5.3 to 5.2 , because of UI big problems ...now the issue is with showing the on the buttons, all the prices of my products are empty, what can cause this issue ? Thanks !
     
  46. eses

    eses

    Joined:
    Feb 26, 2013
    Posts:
    1,231
    D0R1N: just a guess; if you already were in 5.3, there's a text vertical alignment offset bug that shouldn't be there, (it moves non-dynamic fonts upwards maybe font height or so) maybe you compensated for it, then went back to 5.2, and texts are offset... I'm not sure if it would be possible to hide texts by this... or maybe your font is a bit larger for some reason, and gets hidden by text options (no overflow for example). But like I said I'm just guessing... maybe it's something else.
     
    InfinityCoder88 likes this.
  47. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    2,259
    @D0R1N I don't know, try looking for what eses said above or reimport SIS but keep your changes (IAPManager prefab, IAPListener script).
     
  48. InfinityCoder88

    InfinityCoder88

    Joined:
    Oct 4, 2013
    Posts:
    236
    Hi @Baroni , I tried what suggested eses, the problem is not the text, I opened the each generated product in Shop and the price field (text) is empty, no value, even if add a new product in IAP Settings the same issue no price :( I think maybe it's related to DBManager somehow ...the problem is that I have a lot of items in my Shop, if I can't fix this I will reinstall the SIS and add them manually :( the only solution I think...
     
  49. bgakiya

    bgakiya

    Joined:
    Jul 2, 2015
    Posts:
    11
    Hello, I bought simple IAP before, is there a place where i can download simple IAP 2.6, I´m using open IAB. Pls provide a link. Cheers! :D
     
  50. eses

    eses

    Joined:
    Feb 26, 2013
    Posts:
    1,231
    bgakiya: In general - this goes for any asset you've bought from Unity Asset store: just open Asset store tab in Editor and download your asset.