android - 是否可以生成一个 'share on Facebook' 链接以在 Android/iOS/移动设备上打开 native Facebook 应用程序而不是网络共享对话框?

标签 android ios facebook mobile

是否可以在在 native 应用程序中打开分享对话框的网站上拥有在 Facebook 上分享链接

当前行为:

现在点击 Facebook 分享链接会打开基于网络的分享对话框,这很糟糕,因为大多数移动 Facebook 用户使用的是 native 应用程序,因此没有在他们的浏览器上登录。因此,网络共享对话框会提示他们输入他们的用户凭据 - 这可能会导致他们最终不共享。

理想行为:

单击 Facebook 上的分享链接会在本地 Facebook 应用程序中打开分享对话框,用户已在其中登录。

提前感谢您的帮助!

最佳答案

截至目前,没有官方方法可以实现这一目标。不过,它可以由 Facebook 实现,使用他们的自定义 URL 方案转发他们的网络共享对话框。因此,如果您使用 officially documented way 打开此对话框,您将获得此功能而无需进一步更改,只要它可用。

无需任何先决条件,使用官方网络共享对话框的最简单方法是链接到此 URL:

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

您将 URL_TO_SHARE 和 RETURN_URL 替换为正确的 URL 编码值。或者您包含 Facebook JS-SDK 并使用经典的分享按钮或 sharing on the web 中描述的其他方式。

仅出于完整性考虑:在 iOS 和 Android 上的 native 应用程序中,如果用户安装了 Facebook 应用程序,则可以直接链接到 Facebook 应用程序。请参阅来自 iOSandroid 的共享。由于情况并非总是如此,您必须使用相应平台的特定 Facebook SDK 进行检查,并回退到基于 Web 的对话框。

附带说明:我强烈建议您不要使用 Facebook 应用注册的未正式记录的 URL 方案。虽然如果从安装了 Facebook 应用程序的设备访问该网站,它们可能会起作用,但在没有安装 Facebook 应用程序的设备上,尤其是任何 PC 或 Mac,它们会变成死链接或奇怪的浏览器警告。即使您检查所有这些情况,Facebook has already changed their URL-Schemes 也可能随时再次这样做,从而破坏您的链接,或者 - 可能更糟 - 导致未定义的行为。

关于android - 是否可以生成一个 'share on Facebook' 链接以在 Android/iOS/移动设备上打开 native Facebook 应用程序而不是网络共享对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26106447/

相关文章:

java - Unicode 字符 ("\u232B") 不显示在按钮上

ios - 遍历 Firebase 数据库并为变量赋值

ios自定义进度条设计

ruby - 在 Ruby/Sinatra 中解码 Facebook 的签名请求

python - 获取所有在 Facebook 上分享帖子的人的姓名

php - 在 WHILE 语句期间删除结果

java - Android 异步任务中的返回列表

java - 应用程序不显示从 Android 数据库加载的数据

android - 如何在 fragment Revmob 中显示横幅广告?

iOS - 内部分发,无需 ssl