Я использую Expo для разработки собственного приложения. Функциональность, которую я сейчас пытаюсь реализовать, заключается в том, чтобы делиться ссылкой с друзьями на любой платформе, и когда они щелкают по этой ссылке, запускается мое приложение.
После обширных исследований в Интернете - я пришел к блокировщику, следуя документации expo Я определил схему для своего приложения - когда я нажимаю поделиться, все работает правильно, создается сообщение, и я 'Я могу поделиться контентом, но только в виде строки.
Я использую библиотеку реагирования-натива, чтобы поделиться с приложением, и использую Expo, чтобы предоставить мне ссылку.
В идеале, моя первая цель - открыть приложение с помощьюЭкспо Ссылка, прежде чем я буду исследовать, чтобы добавить больше функциональности для ссылки.
Share.share({
message: "Click Here to View More! " + Expo.Linking.makeUrl() ,
url: Expo.Linking.makeUrl(),
title: 'Sufiyaan has invited you to join this activity',
})
.then((result) =>{
console.log(result)
if(result === 'dismissedAction'){
return
}
})
.catch((error) => console.log(error))
В корне моего приложения я также определил обработчики событий: App.js
handleOpenURL(event) {
if (event.url && event.url.indexOf(scheme + '://') === 0) {
crossroads.parse(event.url.slice(scheme.length + 3));
}
}
componentDidMount() {
let scheme = 'nxet'
Expo.Linking.getInitialURL()
.then(url => {
console.log("App.js getInitialURL Triggered")
// this.handleOpenURL({ url });
})
.catch(error => console.error(error));
Linking.addEventListener('url', this.handleOpenURL);
}
componentWillUnmount() {
Linking.removeEventListener('url', this.handleOpenURL);
}
Когда я делюсь ссылкой на Whatsapp, Facebook Messenger или даже просто сообщения илиотмечает, что это выглядит как myapplink: //, я пытаюсь ввести это в браузер и вместо того, чтобы просить меня открыть мое приложение - он выполняет поиск в Google.
Обратите внимание, что я пытаюсь сделать это на устройстве Android.
Что-то я делаю неправильно?
Любая помощь очень ценится.Спасибо.