Произвольные ссылки в url button

Материал из База знаний
Перейти к навигации Перейти к поиску


Содержание


Задача

Далеко не все ссылки можно повесить на кнопки в навыках - например, такие ссылки, как yandexnavi://build_route_on_map?.

При попытке разместить подобную ссылку напрямую в кнопке сгенерируется ошибка. Как быть?


Решение

Поможет маленький лайфхак в три шага:

  1. В навыке на кнопку размещаем ссылку на нужный https url (со всеми нужными параметрами);
  2. По этому url расположим простейший скрипт с редиректом;
  3. При нажатии на кнопку произойдёт нужный нам редирект в навигатор.

Пример:

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