Перенаправляет в магазин приложений, если приложение не установлено - PullRequest
0 голосов
/ 24 января 2019

Сценарий: пользователь получит ссылку на свою электронную почту. Если пользователь нажимает на ссылку, если приложение уже установлено, приложение должно открыться, а если приложение не установлено, оно должно быть перенаправлено в магазин приложений.

Я видел реализацию глубоких ссылок, но я полагаю, что она нуждается в некоторой дополнительной реализации и в бэкэнде. Может ли кто-нибудь помочь в этом?

Перенаправление в приложение, если установлено, в противном случае в App Store

прошел через это. Есть ли лучший способ?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

Я предполагаю, что ссылка, которую вы хотите передать по электронной почте, является https ссылкой.Если это так, для того, чтобы iOS могла перенаправить его в ваше приложение, вам нужно реализовать универсальные ссылки .Эта реализация требует, чтобы вы зарегистрировали домен, на который хотите ответить, в своем файле entitlements и добавили файл apple-app-site-association в свой бэкэнд, таким образом Apple может проверить, что домен вы 'Вы пытаетесь ответить - действительно ваше.

При этом, когда ваше приложение установлено, оно может отвечать на ссылки вашего собственного домена.

Теперь, если нет установленного приложения, способного ответитьдля определенного домена https система просто откроет его в браузере.Таким образом, вы не можете заставить AppStore открывать ссылки на ваш домен.Итак, что вы можете сделать, когда ваша веб-страница откроется в Safari, проверьте, является ли работающее устройство iOS, и попросите систему открыть страницу вашего приложения в приложении AppStore.Но вам все равно придется пройти через Safari.

В любом случае, чтобы попросить iOS открыть AppStore на своей веб-странице, вы можете использовать itms-приложения, например:

const iOS = !!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform);

if (iOS) {
  // Just use the link of your app on the AppStore and replace https:// with itms://
  window.location.href = "itms://itunes.apple.com/us/app/google-maps-transit-food/id585027354?mt=8";
}

// Here I'm redirecting to Google Maps on AppStore app.

Примечание : это просто очень простой пример, демонстрирующий концепцию, он даже не проверяет, действительно ли браузер является Safari.Для этого вы можете использовать библиотеку типа mobile-detect.js

0 голосов
/ 24 января 2019

Мое предложение проверить версию iOS здесь Пример

let url = URL(string: "www.stackoverflow.com")!

if #available(iOS 10.0, *) {
     UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
     UIApplication.shared.openURL(url)
}
...