Простой ответ, скорее всего, нет, так как у вас мало контроля над тем, как отдельные приложения будут обрабатывать ссылки. Комплексный ответ заключается в том, что вы должны что-то сделать. Обратите внимание, что это не всегда требует возврата полной веб-страницы - на Android с Chrome вы можете запустить перенаправление 307 прямо к намерению Chrome.
Вы можете настроить простой веб-сервер, который при pinged возвращает `window.location = 'test: //'.
Или еще лучше, вы можете попытаться открыть схему URI в iframe, а затем вернуться к веб-URL, если приложение отсутствует. Это может быть достигнуто с помощью следующих механизмов:
- КСН 9, использовать Универсальную Links
- в Chrome (и в ближайшее время, Firefox 41.0!) Использовать Chrome Intents
- на всех других браузерах, использовать на стороне клиента Javascript
Вот пример на стороне клиента JavaScript:
<script type="text/javascript">
window.onload = function() {
// Deep link to your app goes here
document.getElementById("l").src = "my_app://";
setTimeout(function() {
// Link to the App Store should go here -- only fires if deep link fails
window.location = "https://itunes.apple.com/us/app/my.app/id123456789?ls=1&mt=8";
}, 500);
};
</script>
<iframe id="l" width="1" height="1" style="visibility:hidden"></iframe>
Это именно то, что мы d o в моей компании, branch.io. Мы постоянно имеем дело с изменениями в браузерах и веб-просмотрах, потому что всегда есть новые сценарии для покрытия. Важно, чтобы посмотреть на строку пользовательского агента при принятии решения о том, как отключить пользователя в вашем приложении.
Вы не должны префикс его с http, и он будет работать –
Спасибо за ответ. Если я нажму ссылку, как «test: //» в почте, то автоматически ее изменят на «http: // test //», а не открывает приложение – Sakthimuthiah
URL-адрес обратного вызова всегда проверяет с помощью веб-страницы и перенаправляет на ваше приложение, без сафари вы не можете это сделать –