Схемы URL-адресов Facebook на мобильном сайте, откройте приложение, если оно установлено, в противном случае перейдите на веб-страницу

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

В принципе, если мобильное приложение не установлено или пользователь находится на рабочем столе, перейдите сюда: https://www.facebook.com/pages/[pageid]

Если установлено мобильное приложение, перейдите сюда:

фб://страница/[PageId]

Ответ 1

Простым способом могут быть запросы CSS Media.

Покажите ссылку fb://для малой ширины устройства. и регулярную ссылку http://для больших размеров экрана.

ИЗМЕНИТЬ

<a href="#" onclick="location.href='https://facebook.com/page'; return false;" class="large-screen">Clicky</a>
<a href="fb://page/mypage" class="small-screen">Clicky</a>

Затем, используя запросы CSS Media, скрыть одну из ссылок в зависимости от размера экрана.

UPDATE

Вместо использования CSS более удобный пользовательский интерфейс может быть создан с помощью javascript, пытаясь открыть URL глубокой ссылки сразу после открытия HTTP-URL через X секунд в тайм-ауте.

setTimeout(function () { window.location = "https://www.facebook.com"; }, 25);
window.location = "fb://";

URL-адрес HTTP всегда будет загружаться, но в случае, если глубокие ссылки недоступны, попытка открыть один из них будет терпеть неудачу, возвращаясь к веб-версии.

Источник: https://www.quora.com/How-does-Bitlys-Deep-Linking-detect-if-the-user-already-has-the-app-installed