react-native - 如何从 React Native Linking 打开 Facebook 应用程序(到特定页面)?
问题描述
Linking.openURL('https://www.facebook.com/walmart')
Linking.openURL('fb://profile/walmart');
Linking.openURL('fb://page/walmart');
Linking.openURL('fb://facewebmodal/f?href=walmart')
Linking.openURL('https://www.facebook.com/n/?walmart');
我已经尝试了所有这些,但都打开了网页而不是应用程序。 fb://
打开应用程序,但不转到特定页面。
反应原生 0.61.1
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fb</string>
<string>instagram</string>
<string>twitter</string>
<string>whatsapp</string>
<string>linkedin</string>
<string>fbapi20130214</string>
<string>fbapi20130410</string>
<string>fbapi20130702</string>
<string>fbapi20131010</string>
<string>fbapi20131219</string>
<string>fbapi20140410</string>
<string>fbapi20140116</string>
<string>fbapi20150313</string>
<string>fbapi20150629</string>
<string>fbapi20160328</string>
<string>fbauth</string>
<string>fbauth2</string>
<string>fb-messenger-api20140430</string>
</array>
解决方案
为了在 facebook 应用程序中打开特定的 facebook 页面,您需要拥有唯一标识符 (PAGEID)。
如何获取 PAGEID?
选项 1: 使用一些第三方服务,例如:https ://findmyfbid.com/ 。在这里,您只需输入页面的 facebook url。
选项 2: 在浏览器中打开页面的 facebook url,右键单击个人资料图像,然后按COPY LINK ADDRESS。
沃尔玛的头像地址是:
www.facebook.com/ 159616034235 /photos/10157225802004236/ PAGEID 突出显示。
如何在 FB App 中打开页面?
在 iOS 设备上:fb://profile/PAGEID
在 Android 设备上:fb://page/PAGEID
代码示例:
const pageID = 159616034235; // Waltmart's ID
const scheme = Platform.select({ ios: 'fb://profile/', android: 'fb://page/' });
const url = `${scheme}${pageID}`;
然后你可以使用:
Linking.openURL(url);
推荐阅读
- mysql - 如何从 mytable 中连续查找值
- .net-core - 在没有 Exe 文件的情况下将 dotnet core 2.2 应用程序作为服务运行
- machine-learning - 我的 ADAM 算法在哪里产生了这个尺寸错误?
- vue.js - 我收到一条警告,这使我的页面加载变得懒惰。“向阻止滚动的‘鼠标滚轮’事件添加了非被动事件侦听器。”
- php - php 检查特定模式
- php - 如何使用邮递员在 laravel 中构建一个 api 来关注和取消关注用户
- javascript - 调用函数以响应 javascript 中的轮子事件,但仅当对同一事件的上一个函数调用完成时
- reactjs - 不接受 this.setState 或 this.state 的外部函数
- docker-compose - redash 更改 nginx 端口
- carplay - 如何在 CarPlay for Audio App 中添加标签?