I have a mobile app that people can share a link to it on Facebook and it's has been fine for months. But in the last few days, when people share the short dynamic (deep) link that is configured in Firebase dynamic links, Facebook says it goes against community standards.
However, if I post the long deep link (not the short) on Facebook, it works fine. I used the Facebook share debugger to see what could be the problem. If I put the short deep link, it says "the website contains a blocked URL" and nothing more (no other info or meta data). Even though, the links that the deep link converts to are the app on play and app store, and for the web it's the web page that shows a description of the app and has been the same all the time while the share was working fine (the web page url only shows a warning to include some missing properties in page and not a blocked URL on Facebook share debugger, same message as with working long dynamic link).
So how can I figure out the real problem? Many thanks.
Found the problem. It was the image preview URL in the dynamic link. For some reason, the hosted link was considered as a suspicious URL even though in was hosted on a trusted site and works on other platforms.
have you used deferred deep link in facebook ads ?
Related
I have a Facebook app (canvas app), let's say https://apps.facebook.com/test, that redirects and works as expected on the desktop (on all browsers that I have tested).
On mobile phones (both from the FB app and the browser) the path gets redirected to https://m.facebook.com/apps/test/?ref=web_canvas, which gives a "This page cannot be found" error. Why?
This has been reported as a bug to Facebook and Facebook has confirmed it as a bug. They have not provided a date on when the fix will be ready.
You can follow the status of the bug here:
https://developers.facebook.com/bugs/1051463851558493/
Update: Facebook have (since the information struck-out below) completely removed support for this. The thread about this is here:
https://developers.facebook.com/bugs/1051463851558493/
The top-level information is:
We have now deprecated Mobile Canvas URL. This means that you will no
longer be able to direct to a website/app directly within the Facebook
mobile web based upon the external destination URL you have specified
in the 'Mobile Site URL' field for the app on developers.facebook.com.
Furthermore, we have removed the 'Mobile Site URL' field from the app
setup going forward. This deprecation also applies to apps that were
previously whitelisted.
So it's time to move away from this functionality, and either integrate the newer FB Instant Games functionality or just link to an external website as having your canvas app hosted inside the FB mobile app simply isn't possible as it was in years gone by.
Facebook has disabled mobile URLs working by default:
We recently identified a handful of apps misusing our mobile App Center to redirect people to unauthorized sites. As a precaution, we have temporarily turned off the ability for developers to direct to a destination URL for any app in the "Mobile Site URL" field on the dev site.
Now if you wish for this functionality to work, you need to be logged into Facebook and then go to the following URL:
https://www.facebook.com/help/contact/588209321338256
This URL will effectively put your request in a queue, for someone at Facebook to manually verify your app configuration isn't malicious, and then enable the redirection. I do not like posting this answer, as I know it will eventually become invalid, but as of today it is the only answer. As stated by Scott, you can follow progress on this issue here:
https://developers.facebook.com/bugs/1051463851558493/
Please ignore the fact it claims the issue has been 'Fixed' as Facebook count the above workaround as a fix. If you read through the comments on the bug you can note the waiting time to get the URL fixed (on a per app basis) is typically several weeks.
On May 28th, 2017, Facebook confirmed that the Mobile Canvas URL has now been deprecated. Any apps already using (and white listed) will stop working, and no new apps will be accepted.
Hi everyone,
First, please accept my sincere apologies for the delay in getting
back to you with an update on the status of Mobile Canvas URL. I
understand your frustrations, particularly if you submitted your
details via the form and were waiting on a response.
We have now deprecated Mobile Canvas URL. This means that you will no
longer be able to direct to a website/app directly within the Facebook
mobile web based upon the external destination URL you have specified
in the 'Mobile Site URL' field for the app on developers.facebook.com.
Furthermore, we have removed the 'Mobile Site URL' field from the app
setup going forward. This deprecation also applies to apps that were
previously whitelisted.
The Mobile Canvas URL feature is a vestige of a long ago deprecated
product called Mobile Canvas. Facebook maintains a high commitment to
quality, so we don't want to leave unsupported products active —
especially when they continue to cause bugs for our developers. Going
forward, we're recommending you take advantage of the well-supported
Facebook Games on Web product to drive traffic to your app.
We've also introduced Instant Games which lets people play mobile
games within Messenger and Facebook News Feed. We invite you to sign
up for our closed beta program. We believe letting people play games
together on Facebook is a powerful experience for both players and
developers.
If your app is still set up to rely on Mobile Canvas URL
functionality, we recommend taking the following actions:
If you're using Mobile Canvas to link to a page on mobile web, you need to update your app to handle the redirection in the desktop
iframe. User interaction is required to redirect away from web canvas
as our Platform Policy does not allow automated redirects from canvas.
If your app was previously whitelisted, you will need to take action as this deprecation supersedes any workarounds you have in place.
Thank you for your understanding as we continually improve the
products and services we offer to both developers and players. Again,
please accept my apologies for the wait in getting back to you with
this information
Best regards,
Tim
See this thread https://developers.facebook.com/bugs/1051463851558493/
I've tried using both. If I like the URL for the app (http://apps.facebok.com/myapp) it counts the likes, but I don't get content from the community page. The community page was generated from the developer app tool for this app. If I use the URL for my generated community page, I do get posts to the community page. My only issue with that is Facebook automatically offers to share the URL when you like it now and the URL that gets shared doesn't take users directly to my app. Is there a setting that I missed to make this all work with the APP URL?
I have had a similar issue with this. You could share the URL to the community page and have that page redirect the user to your app. This way, any shared links will direct users to the app and you will get the content from the community page.
After much research (and looking at source for other Facebook applications) the answer is to create a community page named the same as you application and in your application use the like button with the URL of the community page. If you set it up properly, the community page can have a link to your app if it is on Facebook.
It feels like a huge mistake on Facebook's part to not have a better connection between the page URL and the community page. Perhaps this will improve in the future.
On my client's Fanpage, a third party app is running for a contest. How can I make this FB contest page available on mobile? I read the answer here:
http://facebook.stackoverflow.com/a/10833366/461119
also
Facebook SDK : Page Tab App returns not found in mobile Facebook App
I do not understand it clearly.
Is the query parameter ?ref-ts which we have to add at the end of URL?
What does it mean by "It helps in the browser but not the app itself."?
Will it help to see the App on mobile and click on it to go to the contest page on FB?
Also, I found this answer:
Works as advertised! Thank you. I was getting 404, but simply adding
ref=ts in my redirect URLs (I force users to use my app as a page tab)
fixed it! – Guillaume Boudreau
under the first link above but what is forcing users to use app as a page tab?
How can I set App as a page tab?
little bit confused.
I searched the web vigorously but did not get any clear explanation.
My observations about this issue:
Seems like it's an ANDROID issue, Work OK on iPhone's
Work with the link redirection services like Bit.ly (where the bit.ly link included the ref=ts)
I sent an email to Facebook for ANDROID developers.
Hi,
my iPhone's user colleagues can open links to page tab app with ref=ts
parameters but on Android we can't ;-(
The only way we've been able to do it is when the link to the app is
under a bit.ly redirection link
The problem is only when the links are open through the Facebook App.
Thanks
Let us know
Max*
You can access to your app using the next link https://apps.facebook.com/YOUR-APP-ID
In this way, you can access from a desktop or a mobile with no problem.
We have a post on a FB wall. It points to http://tinyurl.com/{something}.
When the link is clicked in a non-mobile web browser, it works fine: TinyURL redirects the user to our web site using the appropriate URI including a special querystring.
When the link is clicked in a mobile web browser on my Android, it fails with the error in the title of this question.
When the link is clicked in the FB native app for iPad and in Safari on the iPad, it works fine.
I have tried adding our URL to the Mobile Web setting in the Basic Settings tab of the FB App configuration. That results in all links pointing directly to the root of our web site with a funky set of parameters in a querystring -- in other words, it doesn't follow the TinyURL in that particular case. The funky parameters include "refid", "ref", and "ft".
So primarily my question is: Why, when I specify the URL in the Mobile Web setting as described in the previous paragraph, does it redirect to our main URL instead of the TinyURL link originally called for?
I think this is something Facebook broke very recently (perhaps even today?). When a user clicks on any links to our app from inside the Facebook native iOS app, they get this error "Either this application has not configured its Mobile Web URL or the URL could not be verified as owned by the application. Unable to redirect." We had never set a Mobile Web URL previously, and everything had been fine since we launched the app over a year ago. We sent all mobile clicks to the same URL's as desktop browsers and handled the mobile rendering server-side. We have not changed our application domain inside the App Settings or anything like that.
In the App Settings, can set a Mobile Web URL to our homepage and the link works (and the error message goes away) but that's not the desired behavior at all - it would mean that all links end up at the same Mobile Web URL regardless of what the link was!
Was this change made on purpose by Facebook and if so why? There's been no mention of this whatsoever on the Developer Blog.
Update 3/21 8:10am PST:
I've since found this to be a widespread problem, not just for a few apps. Just by clicking around I've seen this error on posts to weather.com, youtube, msn.com and a dozen others. It happens on both clicks from the Timeline as well as the News Feed (although strangely sometimes the same post works on one, but not the other!), and from the m.facebook.com mobile web app as well as the native iOS app.
I commented on http://developers.facebook.com/bugs/302635863137683 but no word from Facebook yet. I can't believe more people aren't talking about this right now, this is a major bug.
In your app, go to Settings -> Add platform -> Website
Add both, Website URL and Moblie Website (Yes, you need these both), then your app will be able to be opened from facebook native app.
You will also need the FB Canvas.
Same here, I recently noted that all links of items shared with our Adroid or iPhone app are broken. This only happens with the mobile version of Facebook the Desktop web version is still working. What is actually wrong on the mobile version is that the original shared url is replaced with a m.facebook url that ends with "?ref=unknown&refid=0&ft=fbid.332036910178718%3Ainterface.m_touch%3Ac.m" When user click on it Facebook is redirecting the user to the App's "Mobile Web URL" + "?ref=unknown&refid=0&ft=fbid.332036910178718%3Ainterface.m_touch%3Ac.m" instead of the original shared url.
My opinion is that this is an issue of Facebook that is redirecting the url to the wrong location, "Mobile Web URL" instead of the original post url.
Ok not working. What is going on, 1st directed to something about itunes url. I am on an Android not an Iphone. Sad state when an disabled person is unable to gain access the same as others. This is bad for all users.
I am new to Facebook API and app development. I am trying to build a facebook timeline cover website where users can auto upload and publish the cover to a new album created in the website/app name. Then they would be redirected to another page on my website with instructions on how to setup the cover on their profile timeline. Most profile cover websites are using the same method such as myfbcovers.com, facebookprofilecovers.com, profilephotocovers.com, facebook.coversdaddy.com, fbcoverlover.com and newfbcovers.com to name a few. I have been searching the facebook developer pages and several tutorials over the net. Some tutorials I checked are:
http://thinkdiff.net/facebook/graph-api-iframe-base-facebook-application-development/
http://daipratt.co.uk/facebook-api-upload-photo/
http://developers.facebook.com/blog/post/498/
And also several youtube videos.
But there are several confusions I have about the app. Sorry for the questions if they are too basic as I am a complete newbie who is willing to learn. One of the main problems is that most of the tutorials are outdated as the facebook app creation page etc. Now is different and there is no callback url etc. or canvas etc. in options now which are used in the tutorials. In the tutorials, it is mentioned that for creating a website app or facebook app for page, I need a callback URL which I cannot see now. Secondly, if it is mentioned in those tutorials that I need SSL in my website for an app but none of the facebook cover websites listed above have SSL it seems. I also do not have SSL on my server. So, not sure if that is needed and if an app is needed at all on my local server. And all the apps are doing things different such as I can see these URLs on clicking on some of the clickable links for uploading the cover button. Here are a few examples:
http://facebookprofilecovers.com/wp-content/themes/fbcovers/fb/?i=http%3A%2F%2Ffacebookprofilecovers.com%2Fwp-content%2Fuploads%2FHappily-Married-Facebook-Timeline-Cover.png
http://freetimelinecovers.net/facebook/?cov_img=/images/sports-covers/manchester-united.jpg
Some have direct link to the facebook app page such as:
http://apps.facebook.com/profilephotocovers/index.php?id=35 broken link
And only one website seems to have the publish_stream etc. in the url itself
https://facebook.com/dialog/oauth?client_id=162046520556852&redirect_uri=http%3A%2F%2Ffacebook.coversdaddy.com%2Fi-m-not-a-monster-1242.html&state=e4abcdc1d9288be8233a7ac4aa243997&scope=user_photos%2Cpublish_stream
On checking through Live HTTP header, it seems all websites are following a similar pattern which is directly used in the URL in the last website. For example, here are a few steps of the other websites I saw while checking with Live HTTP header.
https://graph.facebook.com/oauth/authorize?client_id=112308188876405&redirect_uri=http://www.myfbcovers.com/oauth/callback&scope=publish_stream,user_photos,email
https://facebook.com/dialog/oauth?client_id=237897089598589&redirect_uri=http%3A%2F%2Ffacebookprofilecovers.com%2Fwp-content%2Fthemes%2Ffbcovers%2Ffb%2Findex.php&state=0ca1581f006bdd80bd5da78e95179f3a&scope=publish_stream
And so on.
I could also notice that almost all websites were taking auth for only publish_stream and nothing else. Only myfbcovers.com is an exception which also asks for user_photos and email. Rest are not asking for the same and so perhaps publish_stream is the only permission needed.
So, to create the app is there any tutorial. And do I need to host the app on my own server in a sub directory of the website or does it make direct call to facebook. The reason I am asking is because it seems Facebook apps if hosted on local server needs SSL mandatory whereas none of the above websites have SSL/https. And if I do not need to host the app on my own server then how can I make the photo upload link to facebook and then return back to the website for the rest of the instructions. I am using Wordpress on my website like most of the other sites are doing and so, that should not be a problem I suppose. Any help would be highly appreciated. I am willing to learn properly and some good tutorials for creating the photo album and then uploading the photo to the user's album etc. would be fine too if not with the full code. Any help would be highly appreciated.
NOTE: I have removed the HTTP and WWW part in many of the above URLs as I can only post a maximum of two links being a new user. Please add them if needed in those where they are not present.
Ok, I did not install all the applications above to see exactly what they did. I think your question is long... but pretty straight forward. This is what I understand your question to be :
You would like to create a cover photo generator that will allow users to customize their cover photo by uploading files, maybe doing some editing to them. Also maybe using templates of cool ideas and in the end being able to update their cool new cover photo directly into their profile.
This is not very complicated to do although to this date there is no real documentation (by facebook) about how to dynamically update the cover photo. However there are ways of creating photo albums and uploading photos to there.
If you are planning to make your application run with in facebook - that means use the apps.facebook.com/your_app_name, and have canvas or tab URLS, then you will have to purchase an SSL certificate.
Finnaly, in order to get as close to the functionality your want, you might have to make some sacrifices (becuase changing the cover photo is not possible yet with the Graph API).
To locate the cover photo album you'll have to manually scan through all the users albums names - and for that you'll need the user_photos permission.
Once you have created the photo you want, you could possibly let the user upload it (publish_stream permission needed for this) to a different album, and then give the user some detailed instructions using screen shots and direct them exactly how to change their cover photo.
I recommend you read through the Authentication documentation decide what permissions you need (such as user_photos for the users photos and publish_stream for uploading a new picture or creating an album.)
In addition, there are many many tutorials on the Official Facebook Documentation Pages and their Developers Blog- check them out before going onto other sites that have written their own tutorials. Facebook does update their API quite a bit - but they also (recently) have been pretty good on updating their documentation to mirror the changes to the API...
As serious developers using a 3rd party API (
Graph API ), it is solely our responsibility to keep up to date with changes and to write code and applications that comply with their platform policies.