Apple game center and Facebook finding friends iOS6 - ios

I'm mainly looking to clarify the following:
1. I've been told that with iOS 5 and below, if you use Game Center to setup a multiplayer game, the functionality to 'find Facebook friends' (like in scramble with friends) is not built-in so you need a separate server of the sort to manage this action - is this correct?
As per iOS docs:
The Social framework (Social.framework) provides a simple interface for accessing the user’s social media accounts. This framework supplants the Twitter framework that was introduced in iOS 5 and adds support for other social accounts, including Facebook and Sina’s Weibo service. Apps can use this framework to post status updates and images to a user’s account. This framework works with the Accounts framework to provide a single sign-on model for the user and to ensure that access to the user’s account is approved.
The UIKit framework also provides a new UIActivityViewController class for displaying actions that the user might perform on some selected content. One use of this class is to allow the user to post content to social accounts, such as Twitter or Facebook. You present this class modally on iPhone or using a popover controller on iPad. When the user taps one of the buttons, the view controller presents a new interface to perform the associated action.
For more information about the Social framework, see Social Framework Reference. For information about the UIActivityViewController class, see UIKit Framework Reference.
Ref:
https://developer.apple.com/library/ios/#releasenotes/General/WhatsNewIniPhoneOS/Articles/iOS6.html#//apple_ref/doc/uid/TP40011812-SW1
2.
Judging by above it appears that the 'find Facebook friends' operation is built into Game Center in iOS 6 - is this correct?
Thanks.

Unfortunately, the functionality as you describe (finding facebook friends to connect multiplayer matches) does not exist on iOS6, at least not yet.
What is included is a bit different and a lot less exciting. If you go to the Game Center application on your device, you now get a "suggested friends" list that is generated from your facebook friends and the contacts on the device.
getting the facebook friend matching functionality still requires you to set up your own servers sadly.

Related

How can my app identify which social apps are present on user's iOS device?

We are building an app that is social in nature, and want to provide close integration to top social platforms like Facebook, Twitter, Pinterest etc. So I have two questions:
1. With UIActivityViewController, can we share content across all (top) social platforms available on the user's device? Or are there any known issues with compatibility for some of these platforms? I know Facebook has limitations in posting pre-filled text. But I couldn't find limitations for any other platform.
2. We want to see the list of all social platforms users are seeing, so that we can fine tune our app UX keeping that in mind. Essentially, we want to identify all the social apps a user has installed on his device. We want to detect presence of specific apps only and don't need all apps list.
Use SLComposeViewController if your target iOS is >=6 and Social framework.
you can check for Facebook as:
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]){
and so forth for Twitter:
if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) {
Keep in mind
isAvailableForServiceType:
is the method used to return true or false in case user has setup/or no an account for the service questioned. And this method takes only one parameter for the service we need to know about (e.g. SLServiceTypeFacebook, SLServiceTypeTwitter). For pinterest and some other social networks, you should use either their SDK or custom methods (basically all need to post url and content to specific url /servers).

how to post on friends timeline on iPhone app

My underlying goal is to allow the user of my app to invite a facebook friend to also use the app, by either posting a story to that friend's timeline, or by sending them a private message.
My hope is to do so using the iOS Social Framework exclusively.
My immediate questions are twofold:
Can you use the SLComposeViewController to post to a friend's wall, or is that limited to only posting to the app user's wall?
If SLComposeViewController cannot be used to do that, then what is the recommended method for doing so (again, within the social framework)?

iOS 6 - How to post tweet from a twitter account that is not on the user's device

I'm in the very early planning stages of building another iOS app. I'm hoping to be able to post tweets to my own account when users take specific actions from within an iOS 6 app. That is, I want to authenticate to twitter as a user that is not stored on the user's device. Is it possible to use the Social and Accounts frameworks to accomplish this, or should I be investigating another framework? If someone could point me in the right direction, I'd really appreciate it.
cheers,
a

SLComposeViewController Facebook posts as iOS instead of Facebook Application Identifier

I'm currently working on a prototype for adding Facebook social features for future iOS games. One of the features I've been working on involves using the new native Facebook Composer to post to a link to the game, and then tracking the post and giving the player coins for every person who likes the post. After the post, I get their feed and look for a post with a matching application ID. I've already got that part working correctly if I don't use the new native Facebook Composer (either old style dialogs, or just a direct post with no dialog).
The problem I'm encountering is when using the new SLComposeViewController, the post will appear to come from the application "iOS" id "213546525407071" rather than the id for my application.
Is there a way to change the attributed application so that it uses my application ID instead of iOS?
That's how SLComposeViewController works. If you want your own app designated, you have to design your own UI and use FBRequestConnection from the Facebook SDK as discussed here.

Is it possible to use the Scores & Achievements API from Facebook solely from a native mobile application?

I'm toying around with the Facebook APIs for a game I'm developing as a hobby project, after reading through the facebook SDK documentation, I'm still a little unclear as to what is required for developing games on the platform.
This is what I have :
Native iOS application
All game data is stored locally (levels, characters, items)
I don't have any backend servers, the game is completely client side
only.
I want to make the game "social" by adding achievements/friends lists, the facebook API seems like a good candidate for doing so
This is what I'm trying to achieve :
SSO - Hoping to make use of the facebook SSO for accounts so I don't
have to implement my own authentication etc. This saves time in not having to develop it myself.
Scores - when a particular event happens in my game it will award
some points to the user, I'm looking to use the scores API for
this.
Achievements - after the user has earned a certain amount of points,
or another predefined event has occurred, an achievement will be
granted, using the achievements API.
Question : Can I use the scores and achievements APIs from facebook without having my game deployed onto a backend server?
No, two reasons:
You need a URL to host the metadata for your achievements
The scores and achievements need to be posted using the App Access Token, and distributing that in your client app would allow anyone decompiling the app to change any of your app's settings, make posts on behalf of any of the app's users, redirect your traffic to another site, etc.
At the least, you need static pages describing the achievements, and a callback script you can hit from your mobile app which triggers the publishing to Facebook of the Scores and Achievements
Update 2012-09-06: it's no longer necessary to use the app access token to post scores and achievements, so you could use scores in a mobile app, but you still need a website to hold the achievement metadata
I found a good answer for this recently.
There's no point in duplicating, so please see the answer here:
Using Facebook Achievement API in Android
(It is relevant for iOS as well as any other platform)

Resources