React Native打开Facebook页面

And*_*rei 4 android facebook deep-linking react-native react-native-linking

我一直在尝试使用React Native Linking API打开Facebook页面。它对我不起作用。我确实安装了Facebook应用程序。这是我尝试过的:

Linking.openURL('fb://page/<page_name>');
Linking.openURL('fb://profile/<profile_name>');
Linking.openURL('http://facebook.com/<page_name>');
Run Code Online (Sandbox Code Playgroud)

我也尝试使用通讯库:Communications.web(url)。没有一个适用于Facebook和Instagram。但是,对于Google Maps,Apple Maps,Twitter和其他大人物来说,它就像是一种魅力。

我想知道我是在做错什么,还是应该从Facebook向那些人发送一些Android文章,以了解如何在他们的应用程序中正确实现深层链接?他们显然不知道自己在做什么。

And*_*rei 8

好的,找到了一种打开Facebook的方法:

Linking.openURL('fb://page/PAGE_ID');
Linking.openURL('http://instagram.com/_u/USER_NAME');
Linking.openURL('http://instagram.com/_p/PICTURE');
Run Code Online (Sandbox Code Playgroud)


小智 6

通常,您应该Linking.canOpenURL()在尝试打开它们之前检查iOS。

另外,请确保将您的协议添加为数组info.plist

<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fb</string>
</array>
Run Code Online (Sandbox Code Playgroud)

你也可以在你的 Xcode 项目中这样做info.plist


okT*_*alk 6

我有同样的问题,但无法解决。我有多个社交网络按钮,其中“我的按钮”链接到 Twitter、Instagram 和 SnapChatonpress的操作onPress= {()=> Linking.openURL("https://www.SOME_SOCIAL.NETWORK")}均会打开应用程序(如果已安装)或 Safari 中的网页(如果未安装应用程序)。唯一的例外是 Facebook。onPress= {()=> Linking.openURL("https://www.facebook.com/")}即使安装了应用程序,给定 onpress 操作(例如链接)也始终会在 Safari 中打开。

由于这种奇怪的行为,我正在处理onpressFacebook 链接的操作,如下所示:

````

  Linking.canOpenURL("fb://profile/XXXXXX").then(supported => {
    if (supported) {
      return Linking.openURL("fb://profile/XXXXXX");
    } else {
      return Linking.openURL("https://www.facebook.com/");
    }
  })
Run Code Online (Sandbox Code Playgroud)

````

上面的代码没有按预期工作,但其他似乎也没有。