如何在 React Native 中共享社交网络上的深层链接

Mar*_*llo 5 javascript java android facebook react-native

正如标题所说,我想知道是否有一种方法可以在社交网络(例如:twitter、facebook、whatsaap 等)中共享 URL 深层链接。我正在使用这个库react-native-share,但因为它不是一个Web URL,而是来自应用程序的URL(该URL类似于:myapp://app/1(最后一部分是我拥有的参数)发送))该消息不会显示为超链接,而只是一个简单的字符串,就像社交网络中的普通消息一样。我尝试使用 javascript 中的 .link 函数使文本成为链接,但这仅适用于网络浏览器,我想知道是否有其他方法可以完成此操作,或者您是否知道如何将消息转换为可点击的链接。我只是希望其他应用程序将其识别为链接并让它在网络浏览器上打开,这样它将打开我正在开发的应用程序。

Ray*_*Ray 0

您需要首先在 AndroidManifest.xml 中添加此意图过滤器。

<activity
    [...]

    <intent-filter android:label="filter_react_native">
      <action android:name="android.intent.action.VIEW" />
      <category android:name="android.intent.category.DEFAULT" />
      <category android:name="android.intent.category.BROWSABLE" />
      <data android:scheme="http"
            android:host="www.your-domain.com"
            android:pathPrefix="/new/9/read" />
      <data android:scheme="appname"
            android:host="yourhost" />
    </intent-filter>
Run Code Online (Sandbox Code Playgroud)

然后你可以使用react-native提供的Linking API来处理你的深层链接。

前任:

componentDidMount() {
  Linking.getInitialURL().then((url) => {
    if (url) {
      console.log('Initial url is: ' + url);
    }
  }).catch(err => console.error('An error occurred', err));
}
Run Code Online (Sandbox Code Playgroud)

  • 你能添加你是如何解决这个问题的解释吗? (3认同)