Questions about In-App Purchases

Hey guys

This is a general thread about how I should handle this part of my Android and later iOS app.
I have a lot of ships in my game that you can either play to get or buy to get through the in-app purchase functionality. But I looked into the Google Play options and it seems you have three choices:

  • Managed Purchase - This is a purchase that you can only buy once per account and is managed by Google. This means it’s tied to your account across devices.
  • Unmanaged Purchase - This is a purchase you can buy multiple times per account and is not managed by Google. This means it’s not tied to your account across devices.
  • Subscription - This is a reoccurring purchase that automatically refreshes itself through the players credit card. This means it’s not tied to your account across devices.

I would like the ships that people buy to be persistent across devices on the same account. This means I should go for the Managed Purchases right? but what do I do about the option of earning the ship through gameplay? Can I somehow “make a purchase” on the Google Store, without having the player spending any cash on it, as they earned the ship through gameplay?

I doubt it, that could open up a window for cheaters to take advantage of IAPs, plus I have spent quite a bit of time in the Google Developer Console, and haven’t seen or heard of anything for this, but I’m no expert.

My case is not unique though, so there got to be some way to let the player get the ship without having to pay for it. Can I give them “codes” or whatever that lets them buy the ship if they reach the point of obtaining them in the game without having to pay for them? Like promo codes? There has to be a way around this use case.

I was wondering about promo codes some time ago as well, but wasn’t able to find anything conclusive. What do you need that is any different from just awarding the ship and saving that they have it to their Google Play account?

How am I going to save it to the account and at the same time make the ship unavailable for purchase as they already got it??

Oh, I don’t know how you’d officially stop them from doing it/set the purchase state as far as the IAP license goes, that is the tricky part :|, but you could always just grey out that IAP option if they have the ship on their save-game.

You can just disable the button for them? That effectively stops the ability to purchase it. You would also just include in their cloud save data that they have unlocked it and that would carry across different devices. You don’t need to fake a purchase or anything like that.

I’ve never done in-app purchases before, which is why I asked in the first place.

Bumping for more opinions and/or knowledge

Seems like you just need the app to communicate with google play, check and see what has been purchased, and set booleans accordingly.

Any progress with this? I am currently trying to make IAPs work in my game as well. How do you check if the purchase has been made? Epic do not offer that data via BPs, and I am struggling to figure out how to write that in cpp.
Also, what you are describing seems more like Google Play Saved Games (Saved Games  |  Play Games Services  |  Google Developers), which are not integrated into UE4 as well.

[quote=“Lordink, post:11, topic:44099”]

Any progress with this? I am currently trying to make IAPs work in my game as well. How do you check if the purchase has been made? Epic do not offer that data via BPs, and I am struggling to figure out how to write that in cpp.
Also, what you are describing seems more like Google Play Saved Games

any progress?