2016-08-25 2 views
1

От руководства компании Apple в Support Universal Links:, когда мое приложение не включено, универсальная ссылка iOS в UIWebView запустит Safari?

При поддержке универсальных связей, IOS 9 пользователи могут нажать на ссылку на ваш сайт и получить легко перенаправлены на установленное приложение без прохождения через Safari. Если ваше приложение не установлено, нажмите ссылку на свой сайт, чтобы открыть свой сайт в Safari.

Но я запутался, что если мое приложение не установлено, и я нажимаю универсальную связь моего приложения в UIWebView другого приложения, система будет запускать Safari приложение, чтобы загрузить свой веб-сайт, или еще загрузить его в UIWebView?

Я тестирую универсальные ссылки приложения, когда приложение не установлено, и они никогда не запускают Safari для загрузки следующей страницы, они все равно загружают его в UIWebView.

Я хочу создать, если можно запустить Safari, но не оставаться в UIWebView.Do Мне нужна какая-либо конфигурация в файле apple-app-site-association?

На самом деле я хочу отслеживать, где мое приложение было установлено с помощью cookie. Я могу сохранить cookie в Safari с информацией о странице загрузки и получить файл cookie с SFSafariViewController, когда мое приложение будет установлено и открыто, и представить разные просмотров в соответствии с файлом cookie.

+0

Вы можете заменить 'http: //' 'на' itms: // 'или' itms-apps: // ', чтобы избежать перенаправления. – Shahrukh

+0

Использование схем URI не является отличным решением для сторонних приложений, потому что если приложение не установлено, появится сообщение об ошибке, и больше ничего не произойдет. –

ответ

1

То, что вы пытаетесь построить, называется «отложенная глубокая привязка». Это (плюс намного больше) именно то, что мы предоставляем по адресу Branch.io. Если вы хотите избежать головной боли при настройке всего этого, взгляните на это. По этой причине такие приложения, как Pinterest, Airbnb и Tinder, используют нас.

Документация Apple относится к поведению по умолчанию с автономным браузером Safari. Обработка ссылок внутри приложения с помощью UIWebView заменяет это, и нет возможности автоматически отскакивать от исходного приложения в основное приложение Safari.

Обходным способом является сохранение данных на вашем собственном бэкэнд. Как вы выяснили, полагаясь на сквозной проход cookie на самом устройстве, во многих случаях работать не будет.

Смежные вопросы