Complex perk system using IAP + GC = how to design to be compatible with Apple

Hi,

What is preferable from Apple point of view to implement:

  1. IAP with one consumable item called “exp points”

  2. IAP with one non-consumable item which is to enable gathering of exp points in the game so no need to buy it via IAP but must spent some time to play it

  3. in game shop which is using exp point like in RPG (perks)

  4. perks can be bought and sold using exp points, system can be restarted on request.

  5. exp points can be gathered via game play after this feature is enabled

I am trying to implement such scenario with GC / IAP but i am missing something in design.

Does saving in game shop values locally using encription makes sense ? What about Apple requirements ? There are about 40 perks so making one IAP item for each perk makes no sense.

Can GC achievements be used to implement this scenario ? I am not asking about code, just about design.

Regards,
Tom [import]uid: 111283 topic_id: 22763 reply_id: 322763[/import]

This does sound complex :slight_smile:

GC achievements probably aren’t what you’re looking for since it seems like the perks should be transferrable? Achievements can’t be lost once you unlock them.

If you can exchange your perks for “exp points” then you should just be able to store the amount of points the user has and if they choose to sell one back then just add the points back to them and remove the perk. Apple doesn’t impose any restrictions on what the user does with the points as long as it’s clear what they do when purchased. So earning the points and exchanging things you’ve bought with them are fair game, as is a non-consumable purchase to enable this whole process.

I would store the points locally and ideally back them up to the cloud. [import]uid: 87138 topic_id: 22763 reply_id: 90820[/import]

Hi,

Thanks for quick replay.

If something is stored locally there is chance to hack this data even when its encrypted. On the other hand Apple ask developer about any encryption used during binary loading.

achievement Can be reset for whole product. If so then perks would be only purchasable once without option to sell them, which change the design of product a bit…

Achievements can be also set to hidden (from other users ?).

Anyway from design point of view (this is possible to implement) does this make sense to use achievements for this (with scenario that perk is only-purchasable) ?

Regards,
Tom [import]uid: 111283 topic_id: 22763 reply_id: 90824[/import]

You’re wanting to use achievements to store their purchase data essentially? I suppose you could do that, but purchases are intended to be associated with the purchaser’s Apple ID, not their GC login. And by restoring your purchases with GC achievements you could propage them to many accounts.

You cannot make achievements the user has earned hidden.

And if you’re worried about IAP security, you’re probably better off focusing on methods that can defeat programs like IAP Cracker by verifying the transactions. You can also store data securely without needing to register for crypto. [import]uid: 87138 topic_id: 22763 reply_id: 90847[/import]