У меня есть проблема, которую я пытаюсь понять: почему я получаю время от времени ошибки Sentry, говорящие мне, что iPhone X или XR не может открыть URL-адрес SMS?
У меня есть эта ошибка: Невозможно открыть URL: sms: & body = ...
Но что еще более странно, что, когда я смотрю на свой хлебный крошка, я понимаю, что эта ошибка возникает, когда пользователь даже не сделал необходимых действий для открытия приложения SMS!
Отправляемое мною смс содержит URL-адрес, сгенерированный динамическими ссылками Firebase.
Вот код для создания URL смс и код, который отправляет смс
InviteFriends.js
export default inviteFriends = () => {
let sharingToken = store.getState().user.share_token
firebase.dynamicLinks().buildShortLink({
link: `http://mywebsite?type=invite&sharing=${sharingToken}`,
domainUriPrefix: 'https://mylink.page.link',
navigation: {...},
android: {...},
ios: {...}
})
.then((url) => {
sms('', i18n.t('account.addFriends.searchUser.hint.sms', {link: url}))
})
sms.js
const sms = (phone = '', body = '') => {
const sep = Platform.OS === 'ios' ? '&' : '?'
const url = `sms:${phone}${body ? `${sep}body=${encodeURIComponent(body)}` : ''}`
const supported = await Linking.canOpenURL(url)
if (!supported) {
return Promise.reject(new Error('Provided URL can not be handled'))
}
return Linking.openURL(url)
}
Что я нахожу странным, так это то, что мне кажется, что если открытие приложения SMS не поддерживается, я должен был бы вместо этого получите сообщение «Предоставленный URL не может быть обработан». Я не прав?
Спасибо,
Виктор