React-Native Link应用程序到Facebook Messenger

时间:2017-06-14 15:28:03

标签: javascript react-native deep-linking

我知道我可以深度链接地图,例如,我使用它,它工作正常。但FB Messenger怎么样?我有一个按钮,当用户点击时我希望它通过与某人的对话打开Messenger。我该怎么做?我尝试直接链接,但它不起作用。

index

也尝试了 openMessenger() { Linking.canOpenURL('https://www.messenger.com/t/name').then(supported => { if (supported) { Linking.openURL('https://www.messenger.com/t/name'); } else { console.log('erro'); } }).catch(err => console.error('An error occurred', err)); } ,但仍无效。

顺便问,有什么方法可以询问用户要打开哪个应用程序?在地图的情况下,当我点击它在iOS上的Apple Maps上打开按钮时,我想让它询问打开哪个应用程序,因为我没有使用Apple Maps。

2 个答案:

答案 0 :(得分:0)

对于那些寻找答案的人来说,这个图书馆对我有用: https://github.com/fiber-god/react-native-app-link

答案 1 :(得分:0)

Linking.canOpenURL('fb-messenger://').then(supported => {
    if (!supported) {
       console.log('Can\'t handle url: ' + url);
    } else {
       Linking.openURL("fb-messenger://user-thread/" + "facebook id");
    }
}).catch(err => console.log(err)));

iOS

  

从iOS 9开始,您的应用需要提供LSApplicationQueriesSchemes   在Info.plist或canOpenURL内部的键始终返回false。

设置LSApplicationQueriesSchemes =>重新启动服务器

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-share-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
    <string>fb-messenger</string>
</array>

enter image description here

Android

  

要在Android上支持深层链接,请参阅   http://developer.android.com/training/app-indexing/deep-linking.html#handling-intents