I have an iOS app with integration of Facebook. This app used facebook open graph and post some activity message when the player does something important in the game. The open graph message are tagged as explicit_shared. But I got rejected after reviewed by facebook and the reasons are as below:
Posting Explicitly Shared content must be optional. In the Open Graph action flow, users need to know that they are sharing content back to Facebook and have the ability to opt-out.
I know what it means. But the point is, the app didn't automatically post the open graph message. Only when the player click a specific button, the message will be sent. For example, there is a button like "share my score on facebook", and when the player clicks on it, the app will post an open graph message. So I think what I did confirms to the guideline. I don't understand why it's rejected in this case.
Excerpts from the docs:
It represents something they would have entered or uploaded into the Facebook composer for sharing.
Even though in your app the users are clicking the share button, it does not count as explicit sharing because users are not providing with any status message when they are sharing.
More Reading
Hope this helps.
Related
We are having a problem with the review of our app which needs FB user's authorization to publish a post to his wall (publish_actions permission rejected by FB reviewer). The post is a promo offer developed by some retail store which is generated on server and needs to be put on user's wall.
We are seeing this in many cases by apps that are approved by FB but the reviewer has stated this: 'Make sure the user message area is not pre-filled in any way by the app otherwise the submission will be rejected. This includes hashtags, URLs, and any other text not written by the user.’
What we see in many cases is that the message is pre-filled with text from a publisher so that when its posted to the wall you see an image with some text including a link to the FB page of the publisher. Does anyone know why we are not allowed to do the same?
Prefilling is not allowed. It does not matter if you see it in another App, it´s still not allowed. If you believe an App does it, report it to Facebook.
Also, the user profile is not a place to advertise, each and every single post to the user wall must be written and authorized by the user. You can only add a link with Open Graph tags to it. See the docs for information about all the possible parameters: https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed#publish
I am looking for Like Button to be shown in my ios native app, users of that app have already connected to app via facebook account.
there are several questions related to Facebook Like Button on stackoverflow but those are not specific to authorized single facebook page of the app.
According to official doc of facebook, facebook pages can not be liked via built-in action o open graph api.
But want only one official facebook page of that app to be liked by user when he hits like button. i don't want user to navigate away from the app or login again in web view to like facebook page.
is it possible to like app's facebook page without promoting user to log in again in webveiw?
Edit
Findings
1. https://stackoverflow.com/a/5837036/1632984
2. Comment by wallacer
"the general consensus does seem to be that you can't like a page on behalf of the user, however I just had an ios game like a page on my behalf. Extreme Road Trip successfully manages to get you to like their own page. I wish I'd paid more attention when I did it now..." – wallacer
This still can't be done directly using the graph api ( to the best of my knowledge ). What you can do is open a webview to the page you want the user to like. If you're rewarding their liking your app or something, when they close the webview (you'll have to provide a close button), you can use the graph api to check whether they like your app page. As far as I can tell this is the best current solution - and seems to be the approach taken by mobile games.
That said, I haven't used Facebook SDK 3 yet, so there may be something in there that could help you.
It appears that Liking a page on behalf of a user is still impossible. I've glanced over the iOS SDK Reference, and it doesn't seem like there is a built in mechanism to like anything.
However, in reading one of the other posts you linked to, and remembering that Facebook opened up the Like open graph action so app developers could allow their users to like content generated by their application...I found this link about built-in-actions (likes).
According to that link, you can post Like actions to your users by POSTing to https://graph.facebook.com/<user_id>/og.likes with the POST params for object (the open graph object URL you want to like on behalf of the user in this case your page's url. eg. www.facebook.com/yourpage) and access_token (obviously, for your user).
I'm not totally convinced that will work; though it is conceivable. My second thought would be to create an Open Graph Object for your page, and have all your users like that. Though, that is a little less ideal, as it removes the possibility of people finding your Page while they're on Facebook and would require you to put a lot more effort into getting likes for the Page via your website, application, etc.
I hope that helps a bit, good luck.
when I try to share a message to Facebook wall using fb.ui, if I didn't enter any message, the post will not appear in timeline but it did appear at my friends' News Feed. I've check activity log, the post activity is there, but it just did not appear in my timeline unless I put a personal/customized message myself. Did anyone encounter this? Just wondering whether it is a bug or it is supposed to be working that way.
Yeah, Facebook filters the feed with their own algorithms. If it's the feed of the developer it will always be shown from what I've read. It will always be in the activity log, but not necessarily shown on a friend's feed (non-developer) based upon facebook's own algorithms.
I am designing a website that will be heavily integrated with facebook. Members connect to the site via their facebook accounts and facebook authentication/permission is used to access their friends list and other information.
There are instances in which I would like the site to be able to send facebook inbox messages to selected people from the user's friends list (in a user initiated manner).
I have discovered that this is not possible through facebook permissions.
One idea that I have is to have Facebook's "Compose New Message" popup to appear overlayed on top of my site (as would appear when clicking the "Send new message" button on a user's profile page). The user would then type a message and press send (hopefully circumventing the permissions issue).
I have browsed the facebook developer docs and forums, but my technical knowledge is limited. I just want to know if this is possible or not, and to be pointed in the direction of material on how this could be achieved (so that I can pass this on to hired developers once I reach that stage)
Any help or suggestions on alternatives would be gratefully received!
Pete
The closest you can be to your goal is using the Send Button. However, this button is used to share links, which are usually open graph pages. What you can to is specify a dummy href/link so that it shows a blank page. Or, better if you actually needed a link attached, then you have no problem.
There is no way of doing it using Graph API Message Object. There are no publishing rights to this object whatever permission you ask from the user. It is read-only. Just look at the extended permission it is only read_mailbox - "READ_mailbox".
Even FQL can't help us with this.
Also, facebook is in the process of migrating to a new messaging system. So playing around with is now is not advisable.
What you can do now is utilize the Send button I mentioned above.
Hey, I'm a product management guy looking to understand how we can deliver audio clips into Facebook. Specifically, I'd like to allow a user (a "sender") who is logged into my iPhone app through Facebook connect to send a link for an audio file to another Facebook user (a "recipient" who has never logged into my app). I understand that it's not currently possible for this link to be sent as an outside email to the recipient, or even as an internal Facebook message. Is that still true?
If so, I'm wondering if it's possible (and advisable?) to post it as a chat message, or as an invite that is posted to the recipient's wall. For the chat message, if it's possible then what are the downsides of that method? For the invite, I realize the wall post will only be visible to the recipient, but I'm concerned that the recipient may not realize that and will think that the audio file is available to anyone who views his profile.
As such, for the invite method, I'd like to require the recipient (after they click a link in the wall post invite) to login to our web site where the audio is hosted via Facebook connect before listening to the audio. Is it possible to accomplish that? In other words, will I be able to know when the person logs in through Facebook connect that he is the recipient? In addition to a token in the audio link URL, how do I track that? Will I need to track a user ID or something?
Thanks in advance for your thoughts!
I'd go with the wallpost method.
I'd implement it by letting the initial user share a link on a friend's wall saying "User has shared a song with you! Click here to open it!" or something like that. When any user clicks that link, prompt for install and once they're authenticated, show them any files that are theirs (and yes, you'll need to check their user ID vs. the user IDs that were stored as links in your database).
If it's not the friend who clicks the link, they won't see anything (or they'll see something different). You could even use a customized link and show an error if an unauthorized user clicks to that page.
For what it's worth, this is how Amazon handles giving Amazon gift cards via Facebook.
If this is unclear or too vague, let me know and I'll clarify.