I'm developing a turn-based iPhone game using Game Center. I created two Game Center accounts for testing but neither can find the other when I try to matchmake games. Both are in two matchmade games alone - neither found the other when matchmaking, in spite of the fact that the matches have 8 players max. What do you think could be causing this? Should I just put it on my physical device, because the games don't really work in sandbox, or what?
Gamecenter testing was a big disappointment for me, but I would enjoy to summarize some things that I learned in the process.
Make sure
-You enabled gamecenter support in both itunes connect's app information section and inside version details
-You completed a turn with a call to endTurnWithMatchData otherwise no other user will be able to connect to your game
-Know that simulator is able to connect to a game but it can't receive data only actual devices can.
-It is not a lag!
There is the possibility that your devices are actually able to match but there is a huge lag before they can, so you think it is not working. This happens to me with my iPad and iPhone for testing, it always takes around a minute to match another device. I have a asked a question regarding this lag here :Game Center Matchmaking GKTurnBasedMatch has significant lag (~1 min) Most replies told same things happens to them and problem is usually in apple's server not your code. I have also contacted apple for the issue by submitting a TSI, they have suggested doing many things (such as trying different gamecenter sandbox accounts, turning off the device, hard reset) but in the end all they told me was 1 min is well within the acceptable lag for turn based matchmaking. I have also submitted a bug report with ID #: 13635249 and its status is open.
Related
I have had AdMob working fine with test ads for the last 6 months on a new iOS game. Now I want to release it, I switch to using the live AdUnitIds that I have setup in Admob, but it fails on all iOS devices with this error:
Request Error: 1 No ad to show.
Occurring here:
public override void DidFailToReceiveAd(Interstitial sender, RequestError error)
{
System.Diagnostics.Debug.WriteLine(“DidFailToReceiveAd error={0}", error);
}
I am using banner and interstitial ads and get the same error for both.
I have two other games with AdMob all working fine.
Some observations and thoughts:
Interestingly, if I change the BundleID of my new game to one of my other games, the live ads work fine (ie using the exact same code and the new AdUnitIDs), so it can't be problem with my code or the AdUnitIDs. For some reason it doesn’t like my games BundleID.
Is it because the new game is not live in the App Store yet (it’s Pending Developer Release)? I don’t think so as live ads certainly used to work before release.
My new app is not “linked” to AdMob (you can’t link it until it’s Live), so is it related to that? Again I don’t think so as Linking didn't used to make any difference (with my two other games over the last two years)
I can see in my AdMob account there are hundreds of "Requests" but no "Impressions" (apart from the handful I got when I changed the BundleID to my other game as I mentioned above).
So I am stuck waiting to release this new game. Maybe releasing it will start the Ads working? But if not, my game will be shooting up the charts while I don’t get any revenue!
Has someone else had the same problem and then maybe it started working by itself after 7 days or 30 days? Or if they had to create a totally new app with different BundleId or if they gave up and used a different ad supplier?
(Also it seems impossible to contact AdMob support, there's no email or phone and I have tried posting on their support forum, but no joy, so I am really stuck! Does anyone know any way to contact AdMob support?)
So ads are finally working!
I eventually took the step of releasing my new game (I used manual release in the App Store and had been waiting 10 days but no ads showed).
18 hours after appearing in the App Store, ads started working.
More thoughts and observations:
I did not link AdMob to the App Store (I still haven’t), but interestingly my game does now appear in AdMobs search, so I can link it, so linking is not required.
So what actually caused ads to start working? It’s either:
A) AdMob detect the app is actually in the App Store.
B) The game got 5 or so new people using it, so ads were requested from a few different IP addresses)and this triggers AdMob to serve ads.
C) It takes 10 days after switching from test ads to Live for ads to work
My theory is it’s A (especially as I can see Disc Drop in Admob’s search).
I have faced this problem before, my app is also IOS. and I solved this problem now.
If your code is correct(you can show the test AD on you device), all you need is wait. AdMob will take some time for review you application.In my case, It took two days for review my APP and then I got the impressions.
I've just released my app on the App store tonight (https://itunes.apple.com/us/app/bird-hunter/id829810807?ls=1&mt=8), it has a leaderboard that worked perfectly well in sandbox mode, but now shows up saying no items.
During the review process I was able to see another user on the leaderboard, presumable the person who tested the app. I have game center enabled in itunes connect.
Is this something that will take some time to kick in, or is there something else I have to do to make it work?
I'd not submitted the Leader Board for approval to Apple with the app. I ended up doing some bug fixes to the app and then submitting the Leader Board for approval with the bug fixes, and then everything worked.
It's kind of a shame though as I had a big spike of downloads on the first day, and downloads didn't pick up again until the leader board stuff worked. I kind of wonder if I'd have got a lot more downloads had this been working straight away.
I had a well functioning in app purchase system in place and everything was going great. However, after managing Game Center and adding some leaderboards/achievements here on iTunes Connect (without changing anything in the code), in app purchase stopped working altogether and keeps giving me "Unable to Connect" errors. Could this have somehow messed up the sandbox environment? Anyone know what could be the problem?
I think there is a definite correlation since enabling/disabling Game Center on iTunesConnect changes behaviour on the device, but even if I disable everything it tsill won't go back to the way it was before).
I've been at this for days now. Help?
I doubt there's any correlation between Game Center and IAP, although the sandboxes are pretty unreliable. Have you checked so that your Paid Applications contract hasn't expired or is invalid in some other way? Also, have you checked that your test user is still valid?
I'm trying to integrate chartboost to my app, I'm testing it on device, I added the device to the app on chartboost. If I set the app on chartboost to test mode it runs well, it always shows the test interestial ad, if I disable test mode it shows live ads (interestial and more aps as well) very rarely, most of the time it just not showing anything. In the campaign it also shows that I already had 1 install and 1 click on my campaign so I think I did everything well, but still the ads shows up very rarely, is that some kind of network issue or what?
please help
I tested on simulator, there it works well, what should be the problem on device?
There are few things you should know to help diagnose this issue:
Users only see each ad once per 24 hours. This means that after you've seen all ads currently targeting your conditions (country, language, device model, OS version, etc.) - no more ads will display.
The simulator automatically runs as a test device - this means that ad logic and targeting is ignored and you are guaranteed to see ads every time.
You can add a test device following these instructions to make your device behave the same as the simulator.
Because many advertisers target by country, there may be fewer ads available for your country. Chartboost has great fill rates for the North American markets, so this (probably) won't be a problem for most of your players.
Hope that helps!
Full Disclosure: I work at Chartboost
I believe this question has been asked before but the solution(s) offered were not relevant or applicable to me.
I am halfway through coding a game app and have just added basic Game Center functionality to my app - it just checks if the user is signed into the Game Center upon startup. If not, it should show a pop-up box prompting the user to either sign in or cancel. When I ran the app in my iPad simulator, I realised it was not doing anything. When I tried running the Game Center app itself in my iPad simulator, I realised that I could not sign in with my usual iTunesconnect account - it just kept hanging. When I tried to "Create new account", it said "Game Center account services are currently unavailable". However I am able to use the Safari app in the simulator to access the web.
I have an iPad at home which is connected to the internet via the same router (so it cannot be a firewall config problem) which is always on Game Center. When I got the error message on my simulator, I checked the connection on my iPad and I was still logged into the Game Center. When I tried signing out, I could sign in again immediately without any problems. So I tried testing my app in my iPad instead - I got xCode to build the app in my iPad. When I ran the app, it popped up the pop-up box, saying it was using a Sandbox account, and prompted me to sign in with my itunesConnnect account so I did so, but nothing else happened - however I had not programmed any further Game Center functionality into the app. When I quit my app and tried running the Game Center app from my iPad, it started behaving like the iPad simulator -- it would hang when I tried to sign in with my iTunesconnect account, and when I tried to create a new account instead, it would tell me that the services were currently unavailable... when barely 10 mins before, before I installed and ran my app, everything was working OK.
Could I have hosed some settings in my iPad Game Center and now it won't work?? I do not understand how installing my app could have affected the Game Center app in any way. Now both my iPad device and my simulator will not sign into Game Center.
PS: I have checked my /etc/hosts file etc. on my computer and it is the default file, it cannot be a problem with my firewall because I was always able to access Game Center on my iPad before this. Does anyone have any ideas? This is driving me crazy and I wonder if I have to resort to clicking "Restore" on my Ipad to bring the Game Center back. But it still won't solve the problem with the simulator on my Mac not working.
Thank you for any suggestions!!!!
Artie
I've struggled with exactly the same symptoms over the past few days. In the end, I had to disable my firewall (running on a 3com ADSL OfficeConnect), then the sandbox mode works. Interesting notes:
Like you, I was just attempting to set up GC authentication to a sandbox account at this point.
I can access the non-sandbox GameCenter servers with the firewall running on high. Access to normal GameCenter doesn't imply it isn't a firewall problem.
This is a common hardware router/firewall, and I wasn't blocking any particular ports.
This is repeatable -- toggling the firewall on and off prevents/allows access to the GC sandbox servers.
[Speculative: the firewall's logging is pretty useless, but it reports a (non-existent) TCP FIN scan -- the "high" settings may be a bit sensitive. Doesn't make much sense that this would only affect access to the sandbox servers, but empirically, it does.]
In order to use Game Center on a test app you have to set up development Game Center (sandbox) accounts specific to your app and use those to log in and test game center features.
You can read the Game Kit Programming Guide: Game Center Overview to make sure you have everything setup correctly on the Apple server side before adding game center code to your app.
Close your app and any other Game Center apps. go to Settings->Game Center - click on your connection name and select Sign out. Next run a game Center app that you did not write (EX angry birds) logon into to game center (tara) you are no longer in sandbox