Consumable IAP - NOT being consumed
AJaymz
Member, PRO Posts: 164
I have a consumable IAP (a Bomb). Works perfect in IOS, but on Android, the IAP is NOT being consumed, therefore when player clicks to buy a Bomb (after buying the 1st time), it automatically gives it to them. I have everything as it is in IOS, but some reason it's not consuming. I do have everything up to date, and am using the "managed" and not "unmanaged" during publishing the IAP. I read that it should be "managed" and in PurchaseTable it's clicked that it is a "consumable". Can I manually change the Table Cell Value of collumn 5 in the PurchaseTable to "unpurchased"? instead of using the consume iap attribute???
Comments
Can you post a screen shot of your rules so we can take a look for you.
GAMESALAD DEV FOR HIRE! - www.gingagaming.com
@gingagaming
I have quotes ( " " ) around "purchased". does that matter? I think it didn't work when I left them out and I put them in and it worked on IOS.
It's checking collumn 5 in PurchaseTable.
The purchase IS going through so I know the " " around "purchase" works. Because it's changing the Game.IAP attribute I have. Just not consuming the item. It's treating it like an Un-consumable.
Ok, so Im not 100% sure it would break a rule but you should be quoting values in numbers like 0.03 rather than .03, so change them, all of them in these rules, secondly, remove the "purchase" and then open up the expression editor (e) and click remove expression, followed by the red X. Then type in purchased without any marks. This should then work.
GAMESALAD DEV FOR HIRE! - www.gingagaming.com
The purchase isnt made with the "purchase" part. the purchase goes though when you click the actor and run the rule BUY ITEM.
The rules then look in table cell value, purchase table, row 1, column 5 for the word PURCHASE but you are searching for "PURCHASE" which will never be found.
It should work in iOS either, but if it does, your luck. Either way, the "" are the issue. (from what I can see...)
GAMESALAD DEV FOR HIRE! - www.gingagaming.com
@gingagaming Thanks, I'll give it a shot. And yes I guess I'm lucky with IOS because all of this is how it is published and I've sold quite a bit of Bombs, and I've bought a couple for testing myself. Works great there.
@gingagaming Nope, it did not work. I did everything you mentioned. It works on Adhoc on my Iphone. But not for Android. It keeps giving free Bombs. In Google Play Store, it should be "managed" and not "unmanaged" correct? I'm out of ideas.
Other things I've tried just for the heck of it:
No matter what I try... It's treating it like an Unconsumable instead of a Consumable.
Submit a support ticket and see what GS has to say, it may be a bug. I am having problems with Android too see bug #566.
Universal Binary Template - Universal Binary Template Instructions Rev 4 (Short) - Custom Score Display Template
Try this:
on BOTH the buy item behaviour and the consume item, delete the product ID and the open the expression editor (e) then use the drop down to enter a Table cell value.
Put in the following: purchase table row (enter your row number),(enter your column number)
(see image)
GAMESALAD DEV FOR HIRE! - www.gingagaming.com
@gingagaming I'll give that a try. May be a day or two before I can start experimenting again.
@colander, yes I've had that problem too back in November. I had to create an Adhoc with the Consume Item attribute and the Request Purchase Data at the beginning of my game for the Item that was still pending. I am able to re-use that item now for my test account. It was stuck in purchase mode when I backed out of game after purchase (pretty much what Android is doing with everything no matter what).
@gingagaming Well, I did your idea of putting in the Table Cell Value from the expression editor in the Buy Item and the Consume Item. It worked on Adhoc for Iphone, but it didnt work for Android. when I click Buy Button, it just makes my button press noise and does nothing. All 4 of my consumables same exact thing. Wonder if it IS a problem with tables in Android. I did send a bug report with my version of Gamesalad and all, and I got back an email saying they couldn't duplicate results. Don't know. But thanks for all your great ideas!
As far as I am aware there is no way or at least no easy way to test an Android ad hoc build. You need to use a "Live App Testing" on Amazon and Alpha or Beta builds on Google Play.
Universal Binary Template - Universal Binary Template Instructions Rev 4 (Short) - Custom Score Display Template
@colander that is with it live on Google Play. I don't have access to my sisters Android all the time. Everyone around here has IOS devices it seems. So Ive been publishing it and doing updates. then unpublish it if don't work. Probably not the best way to do it, but my sister only Android person I can get a hold of over the phone to test it. I need to invest in cheap android device lol
All i can suggest remotely and especially if you keep unpublishing it. Is make a display box in the store and point it to the purchase table, column 5 for each consumable you have. See whats purchased and what isn't. All should be not purchased, but if you can find the current state, we might be able to solve it. You could also add the following rule to the display box, when touch is pressed consume all the items (one by one) and see what happens when you comsume the items.
GAMESALAD DEV FOR HIRE! - www.gingagaming.com
@gingagaming thanks for all your suggestions. Will definitely try this weekend sometime.
@gingagaming I did as suggested about displaying column 5 for the IAP. After purchasing it once, it displays "purchased" (without the quotations). So it looks like it really isn't consuming. It's staying purchased.
@AJaymz I've been running into the same problems with having the consuming part being recognized (especially since I am placing the Request Purchase Data in individual button calls because I am placing my item purchases on the same screen as high scores). I fixed it by starting over from scratch and making these three key changes:
Hope that helps, got me through weeks of stress. Cheers!