如何通过React Native Linking打开Facebook应用(至特定页面)?

时间:2019-10-04 07:07:00

标签: react-native linker deep-linking

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>

1 个答案:

答案 0 :(得分:4)

要在facebook应用程序中打开特定的Facebook页面,您需要具有唯一标识符(PAGEID)。

如何获取PAGEID?

选项1: 使用某些第三方服务,例如:https://findmyfbid.com/。在这里,您只需输入页面的Facebook网址。

选项2: 在浏览器中打开页面的Facebook网址,右键单击个人资料图片,然后按 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);