强制 FBSDK ShareDialog React Native 自动使用浏览器

Posted

技术标签:

【中文标题】强制 FBSDK ShareDialog React Native 自动使用浏览器【英文标题】:Force FBSDK ShareDialog React Native to use browser automatically 【发布时间】:2016-08-02 21:33:42 【问题描述】:

React Native FBSDK 有一个分享对话框,但由于某些原因在最近的更新中如果 iPhone 有 Facebook 应用程序,那么预填充的内容就像

const shareLinkContent = 
  contentType: "link",
  contentTitle: this.props.name,
  contentUrl: this.props.link,
  imageUrl: this.props.pictureUrl,
  contentDescription: this.props.caption,
;

在安装应用程序时不起作用,但是当没有 FB 应用程序并且本机应用程序打开浏览器时,图像、描述和标题会显示。我想强制共享对话框每次都使用浏览器。我知道 RNFBSDK ShareDialog 有一个 setmode 函数,但是我找不到有关如何使用它的文档,也无法从 Objective-C 文档中推断出来。

【问题讨论】:

【参考方案1】:

setmode函数是一个静态函数,可以用作ShareDialog.setmode("webview")ShareDialog.setmode("browser")ShareDialog.setmode("automatic")

【讨论】:

这样做会正确设置模式,但它会禁用我所有的自定义内容字段,只是从提供的 url 中获取元数据。有没有其他人遇到过这个问题? 是的,不得不放弃图书馆,因为没有办法绕过它 您是否找到了其他要分享到 Facebook 或停止使用此库的内容?【参考方案2】:

@omriki,使用

ShareDialog.setMode("web");

这将允许使用所有提供的字段,包括 contentTitle 和 imageUrl。

其他模式 - nativefeedautomatic

来源:https://developers.facebook.com/docs/reference/android/current/class/ShareDialog.Mode/

【讨论】:

以上是关于强制 FBSDK ShareDialog React Native 自动使用浏览器的主要内容,如果未能解决你的问题,请参考以下文章

ShareDialog 无法打开 Facebook 应用程序

ShareDialog 立即关闭

Facebook iOS SDK,使用 ShareDialog(不是 GraphAPI)分享带有标题的图像

Android Facebook SDK 4.0 ShareDialog 不显示长文本

FacebookShare 0.3.2 Swift ShareDialog 控制台错误

Xcode 10 FBSDK 'SDKLoggingBehavior