Feature Upgrade question

I’m considering a free version of my game that will allow the player to upgrade their ship from the initial one, to the other two. Currently in the paid ($0.99) version of the game, you get the new ships after so many levels of play. The game has 3 total ships for the player, a 1 blaster, a 2 blaster and a 3 blaster version.

You really can’t get much past level 4 or 5 with the single blaster ship. So it seems to me that I could offer a free version that doesn’t automatically upgrade the ships but lets you buy each ship upgrade.

I’ve not gone through any of the setup because I don’t want to necessarily add inApp purchases to existing game in iTunes Connect yet. It looks like I can have a list of items, so I could do the 2 blaster ship at $.99 and the 3 blaster ship for $1.99.

But what if they buy the first ship? I’d only want to charge $0.99 for the 2nd level upgrade.

What is the best way of doing this?

[import]uid: 19626 topic_id: 10577 reply_id: 310577[/import]

After talking with others, I think I’m just going to do the buy the full version of the game.

So my next question is do I

  1. do an in-app purchase in the game to unlock the features. I presume they will be stuck with “Lite” in the title and on the Icon since they won’t get getting the actual full version.

  2. open a URL to the iTunes store to let them buy the full game.

Which do you feel is the more common approach? Which will generate more revenue? [import]uid: 19626 topic_id: 10577 reply_id: 38650[/import]

I noticed you posted this back in May. Any further developments? I’m weighing the same kind of options with my game.

Any advice would be great! [import]uid: 18951 topic_id: 10577 reply_id: 44898[/import]

I asked several iOS people I knew how they preferred to handle things and I asked on a few other forums and the consensus was to link to the app store.

[lua]local function testNetworkConnection()
local netConn = require(‘socket’).connect(‘www.apple.com’, 80)
if netConn == nil then
return false
end
netConn:close()
return true
end

local function offerUpgradeCallback()
scr.upgradeScreen:removeSelf()
scr.upgradeScreen = nil
gameState = oldGameState
scr.upgradeScreenActive = false
local DEVICE = system.getInfo ( “environment” )
local AppURL = “itms-apps://itunes.apple.com/us/app/omniblaster/id434030469?mt=8&ign-mpt=uo%3D4”
if DEVICE == “simulator” then
print ( “Cannot spawn this URL in the simulator” )
else
if testNetworkConnection() then
system.openURL ( AppURL )
end
end
end[/lua]

I attached the function to a button and away I went. [import]uid: 19626 topic_id: 10577 reply_id: 44900[/import]