我一直在尝试使用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>');
我还尝试使用Communications库:Communications.web(url)
。没有适用于Facebook和Instagram。然而,它就像谷歌地图,苹果地图,推特和其他大家伙的魅力。
我想知道我是做错了什么,或者我们应该向Facebook的那些人发送一些Android文章,了解如何在他们的应用程序中正确实现深层链接?他们显然不知道他们在做什么。
答案 0 :(得分:4)
好的,找到了打开Facebook的一种方法:
Linking.openURL('https://www.facebook.com/n/?YOUR_PAGE_NAME');
Linking.openURL('http://instagram.com/_u/USER_NAME');
Linking.openURL('http://instagram.com/_p/PICTURE');
如果你删除&#34; www&#34; Facebook将无法运作顺便说一句。
答案 1 :(得分:1)
我遇到了同样的问题,但无法解决。我有多个带有onpress
操作的onPress= {()=> Linking.openURL("https://www.SOME_SOCIAL.NETWORK")}
操作的社交按钮,链接到Twitter,Instagram和SnapChat的按钮都打开了该应用程序(如果已安装),或者在Safari中打开了一个网页(如果未安装该应用程序)。唯一的异常是Facebook。给定onPress= {()=> Linking.openURL("https://www.facebook.com/")}
之类的紧急操作,即使安装了应用程序,该链接也将始终在Safari中打开。
由于这种奇怪的行为,我正在这样处理Facebook链接的onpress
操作:
```
Linking.canOpenURL("fb://profile/XXXXXX").then(supported => {
if (supported) {
return Linking.openURL("fb://profile/XXXXXX");
} else {
return Linking.openURL("https://www.facebook.com/");
}
})
```
上面的代码无法按预期工作,但似乎没有其他作用。
答案 2 :(得分:0)
通常,在尝试打开iOS之前,您应该检查Linking.canOpenURL()
。
另外,请确保在info.plist
中将协议添加为数组:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fb</string>
</array>
您也可以在info.plist
中的Xcode项目中执行此操作。
答案 3 :(得分:0)
更新-2019年5月
// open via app
fb://facewebmodal/f?href=PAGE_NAME
答案 4 :(得分:0)
这里没有任何内容适合我,但是经过一些随机尝试,我发现此解决方案有效:
dataframe.columns = [x + forecaster.split('.')[0] for x in dataframe.columns]
如果您正在寻找自己的pageid,这是一个小教程: https://roadtoblogging.com/get-facebook-page-id/