Matches across different apps of a Game Center group - objective-c

I have a free app (with ads) that allows players to play online games through Game Center.
Now I want to create the ad-free (paid) version of the app. So I create a Game Center group and move there all my leaderboards and achievements.
The problem is: can a player of the paid app play against a player of the free app? I'm using Game Center only, no server of my own. From a few quick experiments, it seems that the two apps live on two parallel worlds, and if one uses the classical findMatchForRequest:withCompletionHandler: one can only find matches within the same app and not across apps in the same group.
Is there any way around this?

It is actually possible to address this issue in a rather simple way, although it was not so evident what to look for.
The Game Center Programming guide actually states that "You can create distinct games (with different bundle identifiers) and still allow them to play against each other."
So you have to click "View Details" of one of your apps. There, if you have enabled Game Center for your app, edit "Multiplayer Commpatibility" and add the other app to the list.
Now you can play matches across different apps.

Related

How to get to Google Play "Multi-Player Games" section with my game?

I have a multiplayer game distributed through Facebook, AppStore, and Google Play. I want my game to be listed in the "Multi-Player Games" section of the Google Play market.
How should I do this?
Is it enough to add related Google Play Game Service (multiplayer) and my app will appear in the multiplayer section of Google Play?
And also, we do not apply the Google API for implementing our game's multiplayer features, instead we use SmartFox Server. Is it acceptable, or does Google only list games built on its own multiplayer platform in the Google Play multiplayer section?
To enable multiplayer support:
Open the Games with Game Services page from the Google Play Developer Console, and select your game.
Open the Linked apps page for your game, then switch the multiplayer setting to ON.
Click Save as draft to store your settings.
You can publish an app which can be shown in the multiplayer games category even without using google play game service. Just make sure that you chose the correct options in the google play console when publishing your app.
Here are the specific options that you need to set under content ratings:
you must select the Games category.
To make it multiplayer, you must answer one of the questionnaire that asks whether users can interact with other user to yes.
The game services tab setup is not required. You only need to set it up if you use the Google Play Games Services to build your game.

Leaderboard "My Circles" not showing player's friends

I have been integrating the Games Services APIs into my games for a few days now and having a weird problem that can possibly qualify as a bug.
So I've setup a few test players with Gmail accounts and have added them to each other's circles. The problem I am having is that when I start the activity with the leaderboard's intent the "My Circles" tab doesn't show the other players in the current player's circles, even though the players show up on the Public tab.
Is there something obvious that I am missing?
A couple months late, but, considering I've recently run into the exact same problem, I figure I'll post my findings to aid anyone who stumbles upon this question in the future.
I'm assuming that you're still in the testing phase and haven't actually published your game via the Google Play Developer Console. Publishing is the key. There are two tiny sentences buried in a NOTE on this Google developer page:
https://developers.google.com/games/services/common/concepts/leaderboards#creating_a_leaderboard
Note: Social leaderboards will initially be empty until you publish
the corresponding leaderboard by using the Google Play Developer
Console
Social leaderboards won't be useful until after you publish. i.e. You'll never see social leaderboards during testing.

Streaming movies from my server

I'm playing around to make an app that lets people stream cartoons that I make. It's a very simple app, one ImageView is just loading in a html-homepage in a UIWebView. Witch contain links to .mov files. So if you tap them a movie will start playing. This is because I just want to update the html-file with new cartoons every week.
Is this an "ok" way to do things code:ing-wise? Or am i obligated to us some Objective-c streaming functions?
Is there a specific file-type that i have to use in the movie-files on the server?
Is the HTML static in your app, or does it point to a server? If it's the former, you may be able to get the app approved doing it the way you suggested, depending on the reviewer. If it's the latter, you're unlikely to get it approved by apple.
They tend to frown upon web sites bundled into apps, and will tell you to simply make your website usable with the phone. See section 2.12.
My suggestion is to spend a bit more time and offer iOS users a better - and more immersive - experience than is available via the web. As I'm sure you've found, there are many built-in ways to stream movies and to present them in a manner that surpasses a web-page-like experience.

Xbox and ps3 API

I have been asked to create a site on which users can invite each other to play a game on a specific gaming console (X-Box or PS3 for example). If the players do meet online and play, the site needs to monitor which of them won - then distribute prize money to the winner.
Can anyone point me toward a reference for monitoring the gaming results through some kind of API on these various platforms?
I can't speak for PSN or the PlayStation 3 (although I assume it works very similarly), but for the Xbox 360 and Xbox LIVE:
There is no single API that will enable you to access wins/losses for every multiplayer title - each title would need its own individual API.
Very few developers provide public APIs for their games with statistics for wins/losses.
Microsoft does provide registered developers (and some community members) with access to some Xbox LIVE APIs (which provide achievement, game, and profile related data).
So, what you want to build is not possible using APIs unless:
You are only tracking stats for one specfic game which does have a public (or otherwise accessible to you) API; OR
You are a registered developer and have access to some NDA APIs which provide the information you seek (for example, leaderboard information for XBLA titles, achievement/trophy data, etc.).
You may need to find some other method for verifying the winner.

What is the best way to start a movie the first time your app starts

I want to have a movie start the first time my app is launched to train users on its use, say a 50 second clip.
How would I go about doing this in an iPad app?
(I am building a very complex platform that has hooks into the web and need users to be aware of that. The video will explain that users can go to the website for different features. When the app starts for the FIRST TIME only I want the video to play.)
Don't force users to sit thru a 50 second movie when the app starts. Your user interface should be obvious enough that they can figure out the basics without watching a training video. If you want to offer it, provide a help button, where they can watch it when they choose to.
See the iPhone HIG section Minimal User Help, which says:
A hallmark of the design of iPhone
OS–based devices is ease of use, so
it’s crucial that you meet users’
expectations and make the use of your
application immediately obvious.
EDIT -- The simplest way to keep track would be to store a flag indicating whether or not you have shown the video by using NSUserDefaults. Check if it's set at startup, set it after showing the video the first time.