Some newbie questions before publishing to the App Store

Hello everybody, I’m just about to publish my game on the App Store. The game itself is completely finished, but I must admit I’m a bit lost when it concerns ads and iAPs. I would like to integrate these in my app.

First of all, I configured iAds in iTunes Connect, accepted the iAds contract, enabled iAds for the app, etc. but when I test it on device, it just shows a test ad (showing the features of iAds). Is this normal ?

Also, as I am enrolled into the Starter Pack, I don’t know if I can try iAPs on devices. For example, I activated iAPs in iTunes Connect and also configured 3 consumable items, that I put in my app. When I try to buy one of the items (with store.purchase in device), it doesn’t even ask me if I want to buy anything and just skips to transaction.state == “purchased”. That means the product is bought when I click on it, without asking me to pay ! Is that also normal ?

Thanks you for reading, and sorry for my english, I’m really tired of all this… It’s been a week I’m hanging around the forums to find some answers to my questions about before-publishing (configuring iAds, iAPs, Game Center, AdMob, Google Play Game Services…), without being able to find any…

Hi @ulydev5.

iAds:  Yes it’s very normal to only get test ads while testing.  Apple looks at the provisioning profile used and until you submit them an app build for distribution through the store, you will only get test ads.

IAP:  You have to be a Basic level or higher subscriber to use IAP. There is probably a message in your console log that says “that API isn’t supported on this platform” or something similar.

Rob

Oh, thanks. It really reassures me that what I’m encountering is actually normal  :slight_smile:

I may have a few more questions in the future  :lol:

That’s what we are here for!

Rob

Oh, looks like I’ve got another problem. I can’t build my apps using distribution profiles using Corona SDK. Only development ones.

Even the apps that don’t include iAPs. It says (Certificate Not Installed). I tried to redo all the profiles from the beginning. Same result. I don’t know what’s the problem here, as I used to be able to build distribution apps on the same computer.

Also, I’m having a little problem in Game Center. In fact, when I show the leaderboards in my app, it only shows me and my score. I already did that with other iDevices, same result. The leaderboard always show only the Game Center account on the device, it’s like being offline… Don’t know if it’s normal too.

Do you have a distribution certificate and key pair?  You have to have both development and distribution.  Then you have to set up a specific provisioning profile for distribution to the store.

As for game center, the sandbox can be a bit weird and it’s tough to actually see results from it.  There are a whole set of steps from logging out of game center, running your app, creating a specific test ID logging in, then you have to hit leaderboards from two different test machines and id’s before it recognizes that the scores are there.

Thanks you for your reply. Yes, I already have both development and distribution certificates. I absolutely redid everything but it won’t work.

About Game Center, sometimes when I click “show leaderboard”, it says “unable to load achievements”… That’s a bit weird.

EDIT : I finally got it to work, after re-re-re-re-installing the profile multiple times and re-re-re-restarting Corona SDK… Computers can be strange sometimes  :stuck_out_tongue:

I still have the issue with Game Center, though. I’m going to submit my binary to Apple as my game’s ready, and see if it’ll make any changes…

Game Center still doesn’t work. In fact, it used to. It used to prompt me to login on application startup, but it doesn’t anymore. I didn’t change the code at all.

local playerName      local function loadLocalPlayerCallback( event )    playerName = event.data.alias end local function gameNetworkInitCallback( event )    gameNetwork.request( "loadLocalPlayer", { listener=loadLocalPlayerCallback } )    return true end local function gpgsInitCallback( event )    gameNetwork.request( "login", { userInitiated=true, listener=gameNetworkInitCallback } ) end -- function to listen for system events local function onSystemEvent( event )      if event.type == "applicationStart" then         if ( system.getInfo("platformName") == "Android" ) then               gameNetwork.init( "google", gpgsInitCallback )           else             gameNetwork.init( "gamecenter", gameNetworkInitCallback )         end         return true     end end Runtime:addEventListener( "system", onSystemEvent )  

Posted my issue here : 

http://forums.coronalabs.com/topic/45232-game-center-unavailable-player-not-signed-in-doesnt-ask-to-login/

Hi @ulydev5.

iAds:  Yes it’s very normal to only get test ads while testing.  Apple looks at the provisioning profile used and until you submit them an app build for distribution through the store, you will only get test ads.

IAP:  You have to be a Basic level or higher subscriber to use IAP. There is probably a message in your console log that says “that API isn’t supported on this platform” or something similar.

Rob

Oh, thanks. It really reassures me that what I’m encountering is actually normal  :slight_smile:

I may have a few more questions in the future  :lol:

That’s what we are here for!

Rob

Oh, looks like I’ve got another problem. I can’t build my apps using distribution profiles using Corona SDK. Only development ones.

Even the apps that don’t include iAPs. It says (Certificate Not Installed). I tried to redo all the profiles from the beginning. Same result. I don’t know what’s the problem here, as I used to be able to build distribution apps on the same computer.

Also, I’m having a little problem in Game Center. In fact, when I show the leaderboards in my app, it only shows me and my score. I already did that with other iDevices, same result. The leaderboard always show only the Game Center account on the device, it’s like being offline… Don’t know if it’s normal too.

Do you have a distribution certificate and key pair?  You have to have both development and distribution.  Then you have to set up a specific provisioning profile for distribution to the store.

As for game center, the sandbox can be a bit weird and it’s tough to actually see results from it.  There are a whole set of steps from logging out of game center, running your app, creating a specific test ID logging in, then you have to hit leaderboards from two different test machines and id’s before it recognizes that the scores are there.

Thanks you for your reply. Yes, I already have both development and distribution certificates. I absolutely redid everything but it won’t work.

About Game Center, sometimes when I click “show leaderboard”, it says “unable to load achievements”… That’s a bit weird.

EDIT : I finally got it to work, after re-re-re-re-installing the profile multiple times and re-re-re-restarting Corona SDK… Computers can be strange sometimes  :stuck_out_tongue:

I still have the issue with Game Center, though. I’m going to submit my binary to Apple as my game’s ready, and see if it’ll make any changes…

Game Center still doesn’t work. In fact, it used to. It used to prompt me to login on application startup, but it doesn’t anymore. I didn’t change the code at all.

local playerName      local function loadLocalPlayerCallback( event )    playerName = event.data.alias end local function gameNetworkInitCallback( event )    gameNetwork.request( "loadLocalPlayer", { listener=loadLocalPlayerCallback } )    return true end local function gpgsInitCallback( event )    gameNetwork.request( "login", { userInitiated=true, listener=gameNetworkInitCallback } ) end -- function to listen for system events local function onSystemEvent( event )      if event.type == "applicationStart" then         if ( system.getInfo("platformName") == "Android" ) then               gameNetwork.init( "google", gpgsInitCallback )           else             gameNetwork.init( "gamecenter", gameNetworkInitCallback )         end         return true     end end Runtime:addEventListener( "system", onSystemEvent )  

Posted my issue here : 

http://forums.coronalabs.com/topic/45232-game-center-unavailable-player-not-signed-in-doesnt-ask-to-login/