Hi all again.
I am asking what about a plugin for
http://www.onepf.org/openiab. This is a project that enables to use several in-app with same API.
I know Gideros Labs
http://giderosmobile.com/labs/iab provides for OUYA, Google Billing and Amazon, but this provides more app stores with same API.
Comments
http://giderosmobile.com/labs/iab
And what about "OpenIAB Lib detects which appstore installed the app."
Here is the full code working crossplatform with every supported store:
Same API through all supported In-app billing frameworks on all platforms
Completely same workflow for all In-app Billing frameworks
Can dynamically detect which stores are installed on device and return the list to you in prioritized order, so you can have one single binary for all stores
Provides internal product ID usage through all In-app Billing frameworks, which might use different product IDs
Provides unique Receipt ID even if In-app Billing does not support it
Manages all the confirmation and consumption internally
More info: http://docs.giderosmobile.com/interface/iab
Likes: SinisterSoft
It was one idea for reduce development effort on Gideros Labs IAP plugin :-)
I suppose we can use
iab:setProducts({p1 = "prod1", p2 = "prod2", p3 = "prod3"})
with the same product Ids for all stores:
But when I try iab:restore() I get a crash with this in the eclipse log:
03-01 21:46:41.755: D/HeyzapSDK(30234): Tracking heyzap-start event.
03-01 21:46:44.550: E/IabHelper(30234): In-app billing error: Illegal state for operation (queryInventory): IAB helper is not set up.
03-01 21:46:44.565: D/AndroidRuntime(30234): Shutting down VM
03-01 21:46:44.565: W/dalvikvm(30234): threadid=1: thread exiting with uncaught exception (group=0x41c2a700)
03-01 21:46:44.580: E/AndroidRuntime(30234): FATAL EXCEPTION: main
03-01 21:46:44.580: E/AndroidRuntime(30234): java.lang.IllegalStateException: IAB helper is not set up. Can't perform operation: queryInventory
03-01 21:46:44.580: E/AndroidRuntime(30234): at com.giderosmobile.android.plugins.iab.google.IabHelper.checkSetupDone(IabHelper.java:790)
03-01 21:46:44.580: E/AndroidRuntime(30234): at com.giderosmobile.android.plugins.iab.google.IabHelper.queryInventoryAsync(IabHelper.java:615)
IabHelper is in the set of files included in the src folder, etc...
Any ideas?
https://deluxepixel.com
--if there was an error
iab:addEventListener(Event.PURCHASE_ERROR, function(e)
AlertDialog.new("Purchase Cancelled",e.error,"Ok"):show()
end)
iab:addEventListener(Event.RESTORE_COMPLETE, function(e)
AlertDialog.new("restore iab","","Ok"):show()
end)
iab:addEventListener(Event.AVAILABLE, function(e)
iab:restore()
end)
iab:isAvailable()
--call restore on each app starts
--or make a button to allow users to restore purchases
--iab:restore()
end
If you just do an iab:restore() then it will fail (and fail with a crash!)- you have to see if it's available and do the restore in that event. You instructions don't mention that you should check availablity first.
https://deluxepixel.com
Likes: SinisterSoft
google has stopped support for version 2 and forcing us to use version 3 now so instead of googlebilling plugin i am using iab plugin now but have some problem in it just my understanding is not clear so please help me with below points
how can i buy android.test.purchased multiple time as i am intending this to test to purchase coins? it was working fine i can purchase multiple time with android.test.purchased with version 2 but with version 3 it can be purchased only one time
also is it like managed product will purchased only on 1 time and un managed product can be purchased any number of time means i dont have to do anything in code
Unmanaged products behave differently if you are using in-app billing v3 rather than in-app billing v2. If you are using in-app billing v3, Unmanaged products are treated as Managed products and will need to be explicitly consumed. Learn more
so how can i consume item or plugin is doing this for me automatically
Likes: Yan
http://docs.giderosmobile.com/interface/iab
to specify that this item is consumable
Likes: hgvyas123
I was trying to use in-app purchases with SlideMe appstore, so I was studying again OpenIab:
https://github.com/onepf/OpenIAB
I have created a new class IapOpen implementing IabInterface and it seems it works also for Google Play, and I have add a new method startSetup Iad and IabInterface to call mHelper.startSetup().
I also was trying to use the strategy searching:
So the only difference is the app public key :
I have discovered we must to use the following command to allow app store SlideMe discovery using OpenIAB java classes.
adb install -i com.slideme.sam.manager /path/to/YourApp.apk
¿How does Gideros Iab plugin detect the stores?
Gideros provides a method in each Iab[Store] class to detect if this store is available
like:
https://github.com/gideros/gideros/blob/master/plugins/iab/source/Android/src/com/giderosmobile/android/plugins/iab/frameworks/IabGoogle.java#L30
OpenIab calls to OpenIapHelper.startSetup method depending on the OpenIapHelper.Options object. This Options object contains all app stores keys and app lookup strategy (installer or billing provider), so my IabOpen could be the same for all Open app stores (SlideMe, Yandex, AppMall, Aptoide) if I could provide a list of app stores key from lua and the product id will be the same as Google Play.
iab:setup method supports passing multiple arguments
as you call
so you can also provide all needed keys that way
About look up strategy, then IAB, uses something similar, when you call
Maybe it can be used in OpenIab case too
I mean, from Lua it was easier to do something as:
This provides the integration of OpenIab and Gideros IAB plugin. Finally in the Lua part you need to provide a list of (app_stores_names, app_key)
It seems that IabFortumo class sets up the prices to "0.00".
How can I set up prices in Fortumo for my products?