Constant internet connection for IAP

These questions might have been answered multiple times in multiple threads, but i just want straight forward answers to:

  1. Is constant internet connection required for In App Purchase function to work? As example, lets say my game in completely singleplayer, and player wants to make in-app purchase, and only after his confirmation, game tries to connect to internet. Or for IAP to function, game needs internet connection to even load up?
  2. This question is kind of related to first question, but lets say i have some kind of in-game currency which can be only received by completing lets say daily quests ( which you’d need internet connection to get them ) or purchase that with IAP. Long story short - i dont want players to hack that currency and earn unfair advantage. Now the question - Do i have to host some kind of servers to store that information ( how much X currency Y player has ) or how does that work?

As i mentioned, i am sorry if those question were already answer in past, or i rambled too much.
Synbox

  1. For IAP, you cannot make a purchase unless you are online. You will get ‘no internet connection’ errors when trying to initiate any purchases when offline. It is up to you when you tell your user that the purchase will not work for this reason. You can check if there is an internet connection before you even let them click an IAP if you want.

  2. This is more complicated… I’ll answer it a number of times with a number of solutions.
    a) Do you even need to care about cheaters? Will non cheating players be adversely affected by cheating players?
    b) You can do some basic CRC save data check to make sure people don’t tamper with save files. However this will still leave you prone to memory editing apps that can change vales in memory while the app is running.
    c) If you need to be safe from all memory editing apps, save file hacks and other forms of cheating then a server that verifies all transactions with virtual currency is required. Luckily you don’t need to build one of these yourself as there are some services (that are free depending on your needs) that do this for you linked below.

https://www.gamesparks.com/

How these work is the user has to login and trigger a transaction. The server can then verify that they have sufficient currency to complete the transaction and will then award the item to the users account on the server. There will still be ways to hack this though as at some point the client will need to have information about what is owned and what is not owned on the local device in memory and that data will always be prone to memory editing apps.

So in short, unless you game really really needs to exist without cheaters then I suggest you just ignore them as it’ll save you a lot of time and allow you to focus that time on creating value for users that are willing to pay for your content.

Hi Synbox,

GameSparks has integrations for most major stores and we recently updated our portal to make management of virtual currencies and goods easier. If you have any questions about using us, you can get in touch with our support team via https://support.gamesparks.net/ where we can respond to you quickly and directly.

Thanks,
Clare