Is it possible to generate a 'share on Faceboo

2019-01-08 14:50发布

问题:

Is it possible to have a share on Facebook link on a website that opens the share dialog in the native App?

Current behavior:

Right now clicking the Facebook share link opens the web-based share dialog, which is bad since most mobile Facebook user are using the native app, thus are not logged in on their browsers. Consequently the web share dialog prompts them to input their user credentials - which might lead them to not share after all.

Ideal behavior:

Clicking the share on Facebook link leads to the share dialog in the native Facebook app, where the user is already signed in.

Thanks in advance for the help!

回答1:

As of now, there is no official way to achieve this. It could be implemented by Facebook though, forwarding their web share dialog using their custom URL scheme. So if you use the officially documented way to open this dialog you would get this functionality with no further changes as soon as it becomes available.

The easiest way to use the official web share dialog, without any prerequisites, is to link to this URL:

https://www.facebook.com/dialog/share?
    app_id=145634995501895
    &display=popup
    &href=URL_TO_SHARE
    &redirect_uri=RETURN_URL

where you replace URL_TO_SHARE and RETURN_URL with the proper URL-encoded values. Or you include the Facebook JS-SDK and use the classical share button or other ways described in sharing on the web.

Just for completeness: In native apps on iOS and Android it is possible to link to the Facebook app directly if the user has the Facebook app installed. See sharing from iOS or android. As this is not always the case you have to check using the respective platform's specific Facebook SDK and fallback to the web-based dialog as well.

On a sidenote: I would highly discourage you from using the not officially documented URL-schemes registered by the Facebook app. While they might work if the website is visited from a device with an installed Facebook app, they become dead links or weird browser warnings on devices without the Facebook app installed, especially any PCs or Macs. Even if you check for all these cases, Facebook has already changed their URL-Schemes and might do so again at any time, breaking your link(s) or - maybe worse - leading to undefined behavior.



回答2:

I know it has been a couple of years, but for whom it may concern:
Have a look at this answer; Xcode : sharing content via Action Sheet.

Let me copy that answer overhere as well:

Swift

let shareText = "Hello, world!"
if let image = UIImage(named: "myImage") {
    let vc = UIActivityViewController(activityItems: [shareText, image], applicationActivities: [])
    presentViewController(vc, animated: true, completion: nil)
}

Try links for tutorials

  • http://nshipster.com/uiactivityviewcontroller/
  • http://www.codingexplorer.com/add-sharing-to-your-app-via-uiactivityviewcontroller/
  • http://roadfiresoftware.com/2014/02/how-to-add-facebook-and-twitter-sharing-to-an-ios-app/