iPhone OS 3.0: MMO and Games issues

…but if you want to make an MMO on iPhone, one of your first questions is going to be:

Am I allowed to sell virtual currency?

And the answer is:


From the “revised” license agreement Apple requires you to agree to:

3.3.17 Only Paid Applications (which require You to enter into a separate agreement with Apple (Schedule 2)) may use the In App Purchase API. In addition:

– You may not enable end users to purchase Currency of any kind through the In App Purchase API, including but not limited to any Currency for exchange, gifting, redemption, transfer, trading or use in purchasing or obtaining anything within or outside of Your Application. For the avoidance of doubt, nothing herein is intended to prohibit You from offering for sale goods or services (other than Currency) to be delivered outside of Your Application.

– You may not enable the end user to set up a pre-paid account to be used for subsequent purchases of content or functionality, or otherwise create balances or credits that end users can redeem or use to make purchases at a later time.

Another big question is about the APN (push notification – lets you send messages to users of your app): what can you and can’t you do with it?

Apple seems to be taking leaves out of Facebook’s playbook here:

1.3 You understand that before You send an end user any Push Notifications through the APN, the end user must provide consent to receive such Push Notifications. You agree not to disable, override or otherwise interfere with any Apple-implemented consent panels or any Apple system preferences for enabling or disabling Notifications functionality. If the end user’s consent to receive Push Notifications is denied or later withdrawn, You may not send the end user Push Notifications.

2.2 You may not use the APN for the purposes of advertising, product promotion, or direct marketing of any kind (e.g. up-selling, cross-selling, etc.), including, but not limited to, sending any messages to promote the use of Your Application or advertise the availability of new features or versions.

That last bit is going to hurt a lot of people if it gets enforced – many developers would absolutely *love* to be able to do that.

It’s also a pain for the few apps that would have legitimate use for it. For instance, any Brain Game apps (which fundamentally *must* remind you to play every day – as the independent study in Scotland showed last year, they don’t really work if the user stops playing regularly). But within the constraints of the GUI that Apple designed and shot themselves in the head with (the notifications are very much “in your face” and annoying even just with Apple’s own App Store – and non-dismissable. ARGH!), I can see why they’ve done this; it would be a nightmare for the user otherwise.

EDIT: there’s some minor commentary + on Venturebeat already, but they don’t go into the details.

8 replies on “iPhone OS 3.0: MMO and Games issues”

It looks like the intention was to stop various forms of online gambling (or perhaps even money laundering apps in general)… the phrase “use in purchasing or obtaining anything within or outside of Your Application” sounds like a typical scenario where you would pay money through the app to get virtual money to play poker or what have you, then turn that back out into winnings as real money.

But yeah, it’s so generically written that it makes virtual currency a no-no. :-/

It’s a shame – also it appears that you can’t add optional in-game purchases to a free app (from the conference video it seemed so) – this removes quite a lot of the appeal if it’s true…

Apple makes so many bad decisions that I would not want to make a game for it as platform. Plus Nokia phones are still way more popular in europe. Blackberrys are pretty popular as 3g phones too.

I’m looking everywhere for the actual document from apple that mentions this. I find it nowhere in the iPhone SDK Agreement (mar 17, 2009). can you sort me out? Where is this stuff?

how odd, I saw it in the online version of the SDK agreement that you have to agree to before you are allowed to download the SDK; is it gone now?

It certainly appears to be absent from the March 17 SDK Agreement I downloaded from the dev center today. I’ve been trying to get to the bottom of this all afternoon…

I’ve been digging around for it as well too. Has anyone found a link to the document with the above snippet, or a confirmation that its been removed?

Comments are closed.