Facebook Scores API not publishing open graph stories - ios

I am a little new to the facebook SDK so please bear with me on this. I have been searching for hours and have not been able to find anything relating to my problem.
I have implemented the facebook sdk for iOS and am in the process of adding scores.
User authentication is working fine, achievements are working fine, and it appears to submit the scores fine as well with the following response:
{
"FACEBOOK_NON_JSON_RESULT" = true;
}
and there are no errors returned. This is a native app and while it appears to be posting fine, no stories are showing up. Any idea why this would be? I want to make sure that it is working correctly prior to submitting the new version of my game.

The aim of the Graph API to make stories and just sending a score is not a story.
The scores will show up if the user passes the user's friend (passing story) or made a high score (high score story).
You can check the score feed in the users's Activity Log.
WARNING! It seems that FB filter the high score story frequency, but the mechanism and timing is not public, so testing it too frequently could cause missing stories.

Related

Where to save Game Scores, Last Level Passed, etc.? Parse(Cloud backend) or Facebook?

noob to iOS and Game Dev
I am writing a simple game which has incremental levels (flow chart below). Only thing that I want to do it save information like "Last level passed" on to the cloud.
I would like it so that whether the user signs in to my app from iOS, Android, Web (I'm starting off with iOS app only) - always goes back to the right level.
My fundamental architecture question - should I saving this information in somewhere on Facebook API/SDK or in my own Cloud Backend? (I'm using Parse as my backend)
I would save it into Parse so that you are not tied to Facebook for your users. I know many people do not want to connect their Facebook accounts to apps, etc. so this way you can have one solution for everyone.
Also, by using your own backend you can use Facebook a way for users to log in and then later allow them to log in via twitter, etc. and your game would still work as it should regardless of how the user chose to create an account.

Facebook iOs Leaderboards

I would like to use the Facebook Scores API to make a social leaderboard for my iOS game.
From the documentation, I saw that it would require to request a publish permission so that I could post scores. The thing is that I don't want to publish to the player's wall (I simply think it's invasive), I just want to use the API backend to store the score, but everything I saw involved posting to the user's wall in order to write the score on the backend.
How should I proceed to only write the score without posting it into facebook?
If this thing exists, can I avoid requiring the publish permission?
Thanks
If you simply use the Score API as intended, the user will have the option of choosing whether to give your app the visibility permissions like "private, friends, public, etc". That lets the user decide what is invasive rather than you deciding for them.
Here is a related stackoverflow question with the opposite question, showing how users have control over what is shared with the API:
Facebook scores blocked by "only me" visibility

Facebook game Scores iOS

I'm making a new game right now where you can save your highscore, but I wobdered if I could implement a Facebook leaderboard. So the user could see their friend and see what their highscores are. Is this possible? Well, I saw this in different apps like Subway surfers from kiloo and 2048 from ketchapp. I didn't code anything because I don't how to do it. And I searched the facebook developer page and they said you have to do it with the graph API with scores or something. However, Hope you guys can help me out.
Best Regards.
Tom de Ruiter
There's the Facebook Scores API, the documentation is at this link
https://developers.facebook.com/docs/games/scores/
The downside is that Facebook will only store 1 score for a player, when you update it, you won't be able to see any previous scores (Of course, unless you set your own servers to do the job).
Also, there's no easy recipe to work with the Graph API, you just have to follow a few tutorials and you'll be in good shape to work with scores.

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)

iOS Facebook SDK highscore story is not being displayed on user's timeline

I'm developing an iOS game and I want to post highscore stories into user's Facebook timeline.
I'm issuing a POST request to the scores api passing app access token and also the score. The method return true which, as stated in developers documentation, means that the score has been posted successfully.
The problem is that even that method seems to be working right, the highscore story never gets displayed on user's timeline. I'm aware that not all stories will be posted, but there wasn't even a single one I was able to see there. So it is not working.
The app is setup as a native iOS app under Games category.
Is there anything else I need to setup on app settings to get this working?
Thanks in advance.

Resources