Я глубоко связал свое приложение со схемой, например: // test /: id. Что я хочу сделать, это преобразовать это в www.someurl.com/test/:id, но понятия не имею, как это сделать.Я хочу сделать это ссылкой, которой можно поделиться, и открою приложение, например, https://shrts.in/JRnN.
Мой обработчик URL выглядит примерно так: я использую response-native-deep-linking
componentDidMount() {
DeepLinking.addScheme('example://');
Linking.addEventListener('url', this.handleUrl);
DeepLinking.addRoute('/test/:id', (response) => {
// example://test/23
this.props.navigation.navigate('Article',{id:response});
});
Linking.getInitialURL().then((url) => {
if (url) {
Linking.openURL(url);
}
}).catch(err => console.error('An error occurred', err));
}
componentWillUnmount() {
Linking.removeEventListener('url', this.handleUrl);
}
handleUrl = ({ url }) => {
Linking.canOpenURL(url).then((supported) => {
if (supported) {
DeepLinking.evaluateUrl(url);
}
});
}
Есть ли место для улучшений, я относительно новичок, чтобы реагировать. Все ссылки в Интернете в основном устарели. Я могу открыть это приложение, используя adb, как этот
adb shell am start -W -a android.intent.action.VIEW -d "example://test/346" com.app
Но я хочу открыть его сверхуиз URL, который я могу ввести в браузере что-то вроде www.someurl.com/test/:id, если у меня есть мой веб-сайт
Edit
Это мое намерение в манифесте
<intent-filter >
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:pathPattern="/.*"></data>
<data android:scheme="example" android:host="test" />
</intent-filter>