I'm trying to submit an Open Graph action ('share') with an Object ('post') and have been asked to supply screenshots of the published story on the test user's timeline.
When performing the action, this is posted to the timeline:
and when clicking on the time ('2 minutes ago' etc) this view:
I have been told by the submissions team that this is not an authentic open graph story and they are unwilling to help beyond referring me here. So I have no idea what exactly they mean by 'not authentic' or what exactly is wrong.
Could anybody shed any light on this?
(tagged iOS as I'm performing the action from an iOS app - but the same thing happens via JS - but I need to use a non-fb tag)
Many thanks,
Jon
I believe that the issue here is that the "Share" verb is already used by Facebook to mean a specific thing so it is disallowed as an Open Graph verb. Perhaps you could come up with a different verb? Are you sharing this to Facebook or only with in the scope of your app? If you are sharing to Facebook via the APIs or dialogs then Facebook will automatically create a share story.
Related
I am using branch for deep linking on facebook as well as twitter. Deep linking opens up my app successfully and I am also able to retrieve all the parameters correctly. But at one instance, it stopped working and said developers are working on it and after 2 days started working again after I submitted a ticket to Branch and without me changing anything. But this weird stopping and starting of link is not good for app users. Can someone from Branch help me know the possible cause for the same, as for the live app, this would create a problem?
The reason why you are experiencing this issue is that apps like Facebook, Twitter, Instagram and Snapchat prevent users from opening a third-party app via Universal Links. One way to mitigate this issue is to use forced redirections via URI Schemes on the in-app browser. You can enable forced redirections on Branch links by appending $uri_redirect_mode=2 as a query parameter.
eg:
https://example.app.link/j93str?$uri_redirect_mode=2
If you are still experiencing issues, please write to integrations#branch.io with a video recording of the link redirection behavior and one of our engineers would be able to help you with this.
Branch documentation includes two types of method calls - synchronous and asynchronous calls to method that generates url. If we are using asynchronous call, it would take time to give us the url so need to check for url first before posting it on social sharing and if we are using synchronous call, we get a short url which can be easily shared to social sites. This is what made a difference for me!!
I want my app to create a new Facebook group chat with certain people that opens either on Facebook's site in Safari or in the native Facebook app when the user presses a button. I want Facebook to handle the whole chat and my app only to initiate it somehow in the cleanest and least involved way possible. My app already uses the Facebook SDK to open an active FBSession, so I've already got login credentials.
Looking around online and in Facebook's docs, I can't find anything that suits my needs. The closest thing I found was in this answer containing a list of Facebook app URLs you can connect to that open the Facebook app to certain pages. There's "fb://chat/(initWithUID:)" and "fb://messaging/compose/(initWithUID:)". However, not only is there no explanation on how to use these, but people say that Facebook has changed these URLs (and does not have any documentation on them), so they don't work anymore unless I reverse-engineer new URLs (which could change again). Ugh, so close!
I also found examples on starting chats with the Facebook Chat API, but that involves logging into Facebook using some networking framework then writing my own GUI and model for sending messages, which I am only prepared to do as a last resort. There should be some way to let the Facebook app or website do all that. Does anyone know how I can do this?
I've found something very close, but I still don't see a way to make my app initialize it with the desired group of friends:
The Facebook SDK has a message dialog that can appear for sending messages to friends. This isn't exactly what I wanted but is good enough because it means that all the programming is already done for me by Facebook, and users should be able to see these messages on https://facebook.com and the Facebook apps. https://developers.facebook.com/docs/ios/share#message-dialog
I am developing an mobile app for iPhone. The app will primary used by people who are on holiday in a different country and will be offline most of the time, due to high costs for internet traffic.
However, the company for which I am developing the app wants to users to be able to use the "Facebook Share" functionality also when people are not connected to the internet.
It should work on a way that they click the SHARE link button in the app, but then get a message that they are offline and the link will get shared as soon as they are online again.
I am trying to figure out how to do this. Can I pass the link I want to share to the official FB App via fb:// protocol (or whatever) and the FB App handles the post/share as soon as it is online again?
Or do I have to do it on my own, put the links I want to share in a internal database and then post them to the wall when I am online again?
Or any other ways??
Any suggestions would be welcome, I would prefer a very quick solution and hope someone maybe has an idea how to do this. I was hoping I can pass the share-link to the official FB App and this one handles everything when it goes online again !?
Thanks for your ideas!
Your approach should be to make your link-sharing code automatically cache requests until they are sent. The app then doesn't need to concern itself with the details - it can just post the link and get a 'failed', 'success', or 'postponed' response from your API and notify the user accordingly.
Your link-sharing code can then internally check if it can currently post to FB and if not (either because the user is currently offline or perhaps the Facebook token is expired) it will store it for later. This class will then re-check periodically (for example when the app comes to the foreground or when the class is initialised the next time the app starts) for connectivity and then it will check if the token is still valid and perform FB login if required. Once it has a valid token it can then iterate through the pending requests and act upon them.
If you really want to make it nice and clean, you can separate out the code that accepts incoming requests to do something, checks if it can be performed now, does it or stores it for later, and periodically checks any requests in the pending queue. This class will not have any idea what the requests do or how they are performed, it will work with another class that implements a protocol to do the actual work and knows about facebook, etc. There may even be an existing design pattern for such a setup, but I don't know what it's called if there is.
Update: I did some research and found this is very similar to the "Fire-and-Forget Pattern".
I wanted to confirm if this is possible. I want to publish "User To User Requests" directly to the open graph action with my own UI (specifically the friend selector).
My friend selector does follow the platform guidelines (ie do not allow users to select all users at once). My question is that can I publish these requests directly without having to use any of the FB UIs including the request dialog preview (we are going to show our own preview).
This is to be built on iOS. The primary reason we want to use our own UI is because our design team feel that the popups hinder UX on mobile and they want to make it seamless. Their reasoning is a design issue that probably up for another discussion all together, but what I want to know is about using the requests api without using the native FB ui.
The answer is simply, YES, yes you can do this and then post the request to each friend using the id's of the friends selected by the User. All you have to do is just retrieve the friend list retrieve selected user ids and POST to them the requests.
I'm working on an iOS app that allows the user to like a Facebook page within the app. I've implemented this using FacebookLikeView. During the course of testing this functionality, I've liked and unliked the same page multiple times. Unfortunately, this seems to have triggered Facebook's spam detection. Now, when trying to like a page using the like button displayed by FacebookLikeView, the following error is presented: "URL could not be liked because it has been blocked".
Based on reports of the same problem found by searching the web, I've filled out this form to request that Facebook remove the block. However, I've received no response from them. I'm not sure how to proceed. Has anyone else run into this issue and successfully solved it?
With billions of pieces of content being shared on Facebook every month and bad actors constantly targeting the people who use Facebook, preventing spam isn't easy. Just as a community relies on its citizens to report crime, we rely on you to let us know when you encounter spam, which can be anything from a friend request sent by someone you don't know to a message that includes a link to a malicious website.
From : Explaining Facebook Spam Detection
This is no answer and what Donn Lee said is maybe the best answer.
My best guess at this is to send them lot information regarding you testing the app rather than abusing the system. You could try screenshots, contact info and explain what you are testing it for.
Try : Facebook Help Center
Developer Help : Rate Limits, Restrictions and Disables
Try filing a bug on the Facebook Developers Bugreporter.
If it's been a week and the site is still blocked, submit your site on this form.
if it comes down to no other option, there is also unrelated contact info on Facebook Newsroom, including the e-mail address press#fb.com.