Произвольные ссылки в url button
Перейти к навигации
Перейти к поиску
Задача
Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как yandexnavi://build_route_on_map?.
При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?
Решение
Поможет маленький лайфхак в три шага:
- В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
- По этому url расположим простейший скрипт с редиректом;
- При нажатии на кнопку произойдёт нужный нам редирект в навигатор.
Пример:
header('Location: yandexnavi://build_route_on_map?lat_to=' . $_GET['lat_to'] . '&lon_to=' . $_GET['lon_to']);
Готово!
Таким же способом можно реализовать кликабельные номера телефонов:
- Выводим в навыке номер телефона (пусть будет 81234567890)
- При клике производится запрос на сервер (например, такой: https://myskill.ru/callto/81234567890)
- сервер возвращает редирект tel:81234567890