我希望用户能够通过 Facebook 等分享链接(例如 app.com/SKFLA - 这主要是因为单独的深层链接不能被点击)。当用户点击该链接时,将会重定向到一个深层链接 app://SKFLA。如果应用已安装,则应用将会打开 - 目前一切都很好。但如果应用未安装,则我想打开相应页面的应用商店。这可行吗?谢谢!
您需要使用通用链接
请查看
Android
可能还需要一些额外的服务器端设置。Linking.getInitialURL()
.then(url => {
if (url) {
this.handleOpenURL({ url });
}
})
.catch(console.error);
Linking.addEventListener('url', this.handleOpenURL);
handleOpenURL(event) {
if (event) {
console.log('event = ', event);
const url = event.url;
const route = url.replace(/.*?:\/\//g, '');
console.log('route = ', route);
if(route.match(/\/([^\/]+)\/?$/)) {
const id = route.match(/\/([^\/]+)\/?$/)[1];
const routeName = route.split('/')[0];
if (routeName === 'privatealbum') {
Actions.privateAlbum({ albumId: id });
}
}
}
}
2.) 如果应用程序未安装:只需在您的服务器上设置一个路由,node-deeplink包将处理从Web浏览器到应用商店的桥接,当应用程序未安装在您的移动设备上时。
这样,两种情况都可以轻松处理。