Search Unity

Introducing Unibill - the cross platform In App purchase plugin!

Discussion in 'Assets and Asset Store' started by Banderous, Jan 16, 2013.

  1. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    This is our fault. We tested purchasing a subscription and then tried to restore it. But the documentation says that only Non Consumables are restored.
     
  2. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Hello,

    I have problems getting Unbill to work on Amazon App Store and I am not sure if the problem is my testing process. I use Unbill in conjunction with Simple IAP and this already works on iOS And Google Play for the tested scene in question.

    I use Live Testing from the App-Developer-Console to test my builds, that is I upload the test build and download it as a Testing User from the Amazon App Store. I configured IAPs on Amazon and switched Unbill to Amazon Store. I also uploaded the json file to /mnt/sdcard to use the Amazon SDK Tester and ticked the "Amazon Sandbox"-checkbox in the unibill inventory editor.

    Worth mentioning is maybe that I initialize Unibill with product definitions at runtime as described in the documentation rather than using the Inventory Editor.

    Now, when I try to init the purchase, I get the UNBILLER_NOT_READY message no matter how long I wait.

    My questions are, wether a) my procedure to test the app using Amazon Live Testing should work in the first place and b) if there is a way to trace why Unbiller is not ready yet, like at what step in the initialization process it currently is.

    If my procedure to test an unreleased app on Amazon is wrong, please let me know what the best practise would be.

    Greets
    -act
     
  3. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Hi @actraiser3

    You need to download the Amazon App Tester app from the Amazon store.

    And then you can run it to configure some IAP settings. But just by downloading it, it should work.
     
  4. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Our problems with Amazon are different...

    We offer three items (Consumable, Entitlement and Subscription), all with different prices. However, when showing the price in our GUI using "UnibillHelper.items[x].localizedPriceString" all items show the same price ($0.99) which is the price of the Consumable. And when attempting to purchase each item, the same wrong price is shown by the Amazon dialogs.

    Additionally, we have a problem with the Subscription. First, Unibill does not use the overridden ID Value. But anyways, after editing the default value to match the one in the store, Unibill throws the same error:

    UnibillBiller: purchase(com.bakno.correct.id)
    UnibillBiller: Product: does.not.exist is not known to Unibill. Ensure your product IDs are set correctly in your unibill configuration.


    However, the Amazon dialog to purchase the Subscription is shown and finalizes correctly, but no receipt or error are returned. Checking the App Tester there is a transaction for the following product id: "does.not.exist".

    Why is Unibill changing the correct id for "does.not.exist" ?
     
  5. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Thanks for the reply bakno. I am aware of Amazon App Tester. It's downloaded to the device and the json file with the products has been pushed to /mnt/sdcard.

    Unibill Amazon-Sandbox was ticket before deploying. I also now tried to deploy the apk directly to my kindle (without going through the Live Testing feature) but I still get BILLER_NO_READY in the test scene.

    Maybe I don't understand how the App Tester works. I would have guessed that all api calls by my Test Scene are redirected to the App Tester app which responds accordingly. Did I miss settings? Should I see somewhere my product list in the App Tester retrieved from the json file? I don't have have any data in the App Tester App.

    best
    -act
     
  6. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Hi act.

    We upload the apk directly from Unity (Build and Run) into the Kindle device.
    The user account of the Kindle is a Testing User.
    The IAP items are configured in the Amazon portal.
    And we don't have the json file that you mention.
     
  7. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    I think Unibill created the json file automatically on deployment for you when you use the Inventory Editor to manage your products. Just to rule out one thing: There is the Amazon SDK Tester for Amazon Billing API 1.0 and the Amazon App Tester for Billing API 2.0 - which is the version I need to use? I used the latter until now (App Tester). The term SDK Tester is used in the Unbill documentations though .

    Greets
    -act
     
  8. actraiser3

    actraiser3

    Joined:
    Sep 11, 2014
    Posts:
    28
    Just to confirm

    a) It is the Amazon App Tester (for Billing 2.0) one has to use
    b) Unibill creates the json file when initalized in sandbox mode on /mnt/sdcard automatically

    However, despite the creation of the json file takes place, I can not purchase anything in my app (BILLER_NOT_READY). I played around with the Amazon App Tester options and it did not change anything.

    If anyone can lead me to the right path, I would appreciate it.

    -act
     
  9. carking1996

    carking1996

    Joined:
    Jun 15, 2010
    Posts:
    2,609
    I keep getting this error when trying to try my IAP.

    UnibillBiller: Trying to purchase null PurchasableItem

    Is there a reason this would happen? All names and IDs are correct.
     
  10. yaosheng22

    yaosheng22

    Joined:
    Apr 25, 2013
    Posts:
    18
    dear(sorry, I'm not come from English-speaking country, I hope you can understand)
    my setting:
    1. SKU code is the same with iTunes Connect seting.
    2. delete all of original demo's purchas items, just leave 2 non consumable IAP, App Store and googleplay.
    3. product ID is the same with appleappstore Id in inventoryEditor in unity.
    4. I don't use hosted config.

    I have some question about unibill.
    1. It worked when I test in Unity 3d, but didn't on iPhone , why?(that's in the test environment using TestFlight)(is it called sandbox environment?)
    2. my contract bank info is always show this:Note: Banking update in progress, your changes should be reflected within 24 hours.You will not be able to make any changes until your update completes processing. already 4 days.is there any relationships?
    3.I deleted all of demo's IAP ,but when I run the method( Unibiller.AllPurchasableItems), It always catch "Fake title" info and show it in console, didn't show my IAP, why?
    4.before submit, are there any details need to know?

    if I miss any detail or step, please till me, thank you .thank you very much.
     
    Last edited: Aug 24, 2015
  11. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    For anyone having problems with Amazon App Tester,

    I have started Unibill integration of our new app today and when I test it on Kindle Fire, app was restarting spontaneously at initialization by a fatal error crash.

    It turns out default Android manifest of unibill contains receiver paths for IAP 1.0 & 2.0 as follows.

    Code (CSharp):
    1.     <receiver android:name="com.amazon.inapp.purchasing.ResponseReceiver">
    2.       <intent-filter>
    3.         <action android:name="com.amazon.inapp.purchasing.NOTIFY" android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" />
    4.       </intent-filter>
    5.     </receiver>
    6.     <!-- META-DATA -->
    7.     <receiver android:name="com.amazon.device.iap.ResponseReceiver">
    8.       <intent-filter>
    9.         <action android:name="com.amazon.inapp.purchasing.NOTIFY" android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" />
    10.       </intent-filter>
    11.     </receiver>
    12.  
    Removing the old receiver solves the problem, as that might also be the cause of other Amazon problems you're having, I wanted to share. Just make sure you only have the following receiver for Amazon IAP 2.0 in your manifest.

    Code (CSharp):
    1.     <receiver android:name="com.amazon.device.iap.ResponseReceiver">
    2.       <intent-filter>
    3.         <action android:name="com.amazon.inapp.purchasing.NOTIFY" android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" />
    4.       </intent-filter>
    5.     </receiver>
    You might also want to remove it from manifest template @ Plugins/unibill/static/Manifest.xml
     
  12. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Thank you PixelEnvision

    Our Manifest is OK. And all the problems mentioned above continue.

    We decided to use a Consumable instead of a Subscription, but unfortunately since Amazon is not able to delete the previous Subscription item, we are still having the pricing issue.

    Our guess is that given the way Amazon defines Subscriptions as nested within a major single subscription item, Unibill is not parsing the Json correctly.
     
  13. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    @bakno,

    Just throughly read your post. Few pointers that I know of, Amazon App Tester has no link to IAP items defined at the amazon portal. So, it cannot read anything from there... Also, 0.99 is the default price unibill uses as the template, no matter what your actual price is, it'll show 0.99 when using app tester.
     
  14. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Thank you again PixelEnvision

    So we still have a chance to work it out with the current Unibill version.
     
  15. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    @bakno If the Amazon app tester has "does.not.exist" as a transaction then Unibill will not recognise it when Amazon informs it of the purchase on startup. It will generate that error message but not prevent billing from functioning.
     
  16. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    @actraiser3 All calls should be forwarded to the app tester when running on the device, take a look at the complete log from initialisation for any errors.
     
  17. weswpc

    weswpc

    Joined:
    May 14, 2015
    Posts:
    4
    Is there a way to get a callback from UniBill regarding internet connectivity issues? Is this encapsulated by the onBillerReady message and it's state parameter? Or do we need to handle this case ourselves? At the moment, Unibill sits in a loops constantly trying to get product data if there's no valid internet connection.
     
  18. Maulwurfmann

    Maulwurfmann

    Joined:
    Mar 11, 2014
    Posts:
    366
    I just noticed Unibill is no longer available in the Asset Store and marked as deprecated???
    Will it be available again?
     
  19. PixelEnvision

    PixelEnvision

    Joined:
    Feb 7, 2012
    Posts:
    513
    Uh oh, I hope that's a glitch or something like pulling it from the Asset Store to sell it on his own. Specially when iOS 9 is around the corner. Should I be looking at alternative packages @Banderous ?
     
  20. JakeTBear

    JakeTBear

    Joined:
    Feb 15, 2014
    Posts:
    123
    This is very odd, any official information from the developer?
     
  21. CG_Echtzeitschmiede

    CG_Echtzeitschmiede

    Joined:
    Feb 19, 2015
    Posts:
    93
    We are practically ready to release, I just got everything working. I really really hope this is not being abandoned?
     
  22. ababab5

    ababab5

    Joined:
    Apr 15, 2014
    Posts:
    508
    Hi,

    Unibill is depreciated ??
     
  23. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I emailed the developer, and he replied:

    Unibill has been removed from sale whilst we work on a new, yet to be announced project! Existing customers will continue to be supported.
     
  24. ababab5

    ababab5

    Joined:
    Apr 15, 2014
    Posts:
    508
    Ok so we will need to pay a second time? He can make an update ... no ? pffff...
    a shame
     
  25. mdrotar

    mdrotar

    Joined:
    Aug 26, 2013
    Posts:
    377
    @Banderous Some information about the deprecation and replacement project would be appreciated.
     
  26. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    Unibill has been removed from sale pending release of a new In App Purchase product later this year, free of charge.

    Unibill continues to be supported with bugfixes as it always has; existing customers should continue to use Unibill for any new and existing apps.

    @weswpc Unibill is expected to retry initialisation indefinitely when offline, until connectivity is available.
     
    mdrotar likes this.
  27. Mol20K

    Mol20K

    Joined:
    Jun 23, 2014
    Posts:
    21
    @Banderous, We are currently finishing our latest project and we were about buy the asset for the project. Is there still a way to get the asset or how should we handle this?
     
  28. plokkum

    plokkum

    Joined:
    May 28, 2013
    Posts:
    90
    Hi @Banderous, I've been using Unibill for about two years now and still love it super much. However, this is the first time I'm running into a problem where my Unibill Inventory Editor window opens blank and does not want to close (unless I create a custom toolbar item with EditorWindow.GetWindow(typeof(InventoryEditor)).Close();).

    This is the error I'm getting upon opening the Inventory Editor:

    Code (csharp):
    1.  
    2. NullReferenceException: Object reference not set to an instance of an object
    3. Unibill.Impl.MiniJsonExtensions.getString (System.Collections.Generic.Dictionary`2 dic, System.String key, System.String defaultValue) (at Assets/Plugins/unibill/src/impl/MiniJSON.cs:757)
    4. Unibill.Impl.UnibillConfiguration..ctor (System.String json, RuntimePlatform runtimePlatform, ILogger logger, System.Collections.Generic.List`1 runtimeProducts) (at Assets/Plugins/unibill/src/impl/UnibillConfiguration.cs:63)
    5. InventoryEditor.OnEnable () (at Assets/Editor/unibill/src/InventoryEditor.cs:71)
    6. UnityEditor.EditorWindow:GetWindow(Type)
    7. InventoryEditor:ShowWindow() (at Assets/Editor/unibill/src/InventoryEditor.cs:100)
    8.  
    I hope you can help me with this. Thanks a lot!

    Update:
    Also, it looks like unibillInventory.json.txt is empty (zero bytes). How did this get corrupted?

    Update2:
    I manually created a new unibillInventory.json.txt and made a backup copy just in case. All is fixed now, but I'm still wondering how this could have happened?
     
    Last edited: Sep 2, 2015
  29. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    So is this plug in dead? I entered today to the Asset Store and it says Deprecated.

    So now what?


    upload_2015-9-2_13-2-27.png
     
  30. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I had this exact problem yesterday (first time using Unibill). We did what you did, but then when I input the info into the Inventory again, and saved it, the same thing happened. You don't have any more clues as to why?
     
  31. plokkum

    plokkum

    Joined:
    May 28, 2013
    Posts:
    90
    @gecko, what I did was to remove the unibillInventory.json.txt located in plugins/unibill/resources. Then start the InventoryEditor again, it will create a new unibillInventory.json.txt. From there on manually edit the file to reflect your changes. This worked for me and haven't tried using the InventoryEditor again.

    If you want to quickly check your json file for validity I usually use http://json.parser.online.fr/
     
    Last edited: Sep 4, 2015
  32. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    @daville Unibill is client side software, it will continue to function and is still currently supported.
    @Mol20K Unfortunately Unibill is no longer on sale, but there are a number of alternatives like OpenIAB.
     
  33. Saxi

    Saxi

    Joined:
    Jun 28, 2013
    Posts:
    381
    By supported do you mean Unibill will be updated to support latest version of Unity and any issues that crop up with platforms? (Currently, Unibill throws error in 5.2 due to changes in Analytics namespace).

    Or do you only mean you will answer support requests? (My past experience and that of my colleagues, it can take 1-2 weeks to get a support request answered).

    I assume someone bought out Unibill like Unity or Soomla and that is why it is no longer for sale moving forward. I'm sure details can't be revealed, but would be nice to know what that plan is as there are not a lot of options for IAP right now.
     
  34. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    OpenIAB is on sale today... and it says it is compatible with Unibill... But as I understand OpenIAB is just like a Skin for Unibill... it doesn't handle the Purchases or does it?.... I tought it was just like a graphic interface for IAP that connects with Unibill?

    Please could you clarify because if OpenIAB works, then I will get it today that is on Sale.

    I Got Unibill long time ago, but I never had the chance to actually use it, because I've been working on a big project for the past 2 years... and This project is ending Soon, so next year is when I had planned to use Unibill to make my own projects.... but now... I really don't know what should I get.
     
  35. JakeTBear

    JakeTBear

    Joined:
    Feb 15, 2014
    Posts:
    123
    @daville I cant really say this is legit, but someone said before that the Unibill people are making an upgrade, and that they will continue supporting the Unibill plugin. I am just guessing but I have seen it a lot lately that people are making upgrades, Unibill might be on the same path (which makes sense to make some extra money for their continued support).
     
    daville likes this.
  36. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,261
    @daville you are confusing our asset, Simple IAP System, with billing plugins. OpenIAB is a separate billing plugin, just like Unibill, and freely available here. What our asset does is integrating these billing plugins and providing a store interface and editor window for managing your in-app purchases. They all work, otherwise I wouldn't support them.
     
    daville likes this.
  37. daville

    daville

    Joined:
    Aug 5, 2012
    Posts:
    303
    Oh I see... I was confusing the assets... Simple IAP System looks interesting, it is what I tought right? kinda like a visual interface for those Purchase Plug ins right?, it doesn't handle the puchase itself jut the interaction with the user right?... I still need some other plug in for the purchase... I think I'll get it.

    But I'm still worried about Unibill actually seemed like the best option for that u_u

    I guess I'll take a look to OpenIAB also.

    ---- Edit ----
    Just took a look at your Assets, I already have the Simple Waypoint System :D
     
  38. Baroni

    Baroni

    Joined:
    Aug 20, 2010
    Posts:
    3,261
    Yes, it also handles all billing code so you don't have to interact with any billing plugin directly. You just have to define what happens when an user bought an item (in our asset). I'm happy to answer further questions in our thread, I don't want to hijack this one.

    @Banderous I'm curious about the new Unibill replacement, which is most likely being supported in our asset too :) Any early access to share privately? We have a lot of Unibill users, so I can imagine they are waiting for the switch.
     
    Last edited: Sep 9, 2015
    daville likes this.
  39. jf3000

    jf3000

    Joined:
    Dec 31, 2013
    Posts:
    166
    So we cant buy a product that we need, dont tell me to look at other products, I want your product.
     
  40. _muffin

    _muffin

    Joined:
    Feb 24, 2015
    Posts:
    7
    Hi,

    I have a problem with the Unibill on Android. I've done all the steps in the tutorial. I've uploaded an apk in closed beta testing and when it tries to retrieve the product list it gets an empty json. Also I see some issues in logcat that the products dont exist. I've double checked the items in the shop and they seem to be fine.

    Do you guys have any idea on how I can address the problem?

    Thanks in advance.
     
  41. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    A strange thing is happening to one of our apps in Samsung. When we build the test app (not production) it works fine. But the Production app is failing to initialize Unibill. Everything is exactly the same, just the “Samsung Apps mode” is different.

    This is the console message: Unibill Unable to Initialize

    This problem is not happening to another app that has been already accepted by Samsung. What can be the problem?
     
  42. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    @daville Unibill is still available for download from the Asset Store if you already own it.

    @_muffin It can take 24 hours for products to start working.
    @bakno has your new app been accepted by samsung? It won't initialise until it has.
     
  43. bakno

    bakno

    Joined:
    Mar 18, 2007
    Posts:
    604
    Thanks @Banderous. That makes sense. This particular app has not been accepted before.
     
  44. CG_Echtzeitschmiede

    CG_Echtzeitschmiede

    Joined:
    Feb 19, 2015
    Posts:
    93
    Can anybody shed some light on this? We would like to upgrade to 5.2, can this safely be done or will Unibill stop working?
     
  45. Saxi

    Saxi

    Joined:
    Jun 28, 2013
    Posts:
    381
    There are multiple issues with 5.2 and unibill and support takes 1-2+ weeks to get a response (if you are lucky).

    Stick with 5.1 or find another option if you in a rush.

    You can hack the files if you don't need Unity Analytics fairly easily.
     
  46. giorgos_gs

    giorgos_gs

    Joined:
    Apr 23, 2014
    Posts:
    623
    Is any other plugin that supports Android (google,samsung,amazon), Windows store (WP8,W8,W10) and iOS inapp purchases? I loved this one but its history.
     
  47. CG_Echtzeitschmiede

    CG_Echtzeitschmiede

    Joined:
    Feb 19, 2015
    Posts:
    93
    I do need Unity Analytics. The reason why I want to upgrade is because Unity Analytics is stopping support for the integrated Unity Analytics 5.1. So instead of changing our code now and then again when we go to 5.2, we'd rather go to 5.2 right away.
     
  48. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    For anyone having problems with 5.2, if you want to use Unibill with Unity Analytics you will need to enable Analytics in the new Cloud Services menu in Unity.

    If you do not want Analytics support, delete lines 26 through 31 of UnityAnalytics.cs. I will attempt to get an updated package pushed to the asset store for existing users.
     
  49. Landci

    Landci

    Joined:
    Aug 28, 2012
    Posts:
    33
    Any updates on Unity 5.2 issues also ran into the unity Analytics Problem. Workaround Update any help please???
     
  50. Banderous

    Banderous

    Joined:
    Dec 25, 2011
    Posts:
    669
    @Landci did you see the message I just posted?