Ссылки в Instagram открываются в браузере приложения, а не во внешнем/собственном браузере

Если в моем профиле есть ссылка, она открывает встроенный в приложение браузер iOS или Android. Можно ли вместо этого открыть внешний браузер? Возможно, на моем собственном сайте, если я смогу определить, использует ли пользователь мобильный телефон, открыть собственный браузер? Возможно, это решение с javascript?

Проблема в том, что пользователи, которые вошли на мой сайт, а затем щелкнули ссылку в Instagram, браузер в приложении не удерживает пользователя в системе.


person hellomello    schedule 08.11.2018    source источник


Ответы (1)


Это возможно и просто!
вы должны обмануть встроенный браузер Instagram. Слабое место браузера в приложении Instagram — загрузка файлов. Когда вы просите его загрузить файл, он вызывает внешний браузер, и это наш золотой ключ.

Сначала вам нужно проверить, в каком браузере ваш клиент зашел на ваш сайт.
Другими словами:

<script>
   if(navigator.userAgent.includes("Instagram")){
       window.location.href = "https://mywebsite.com/DummyBytes";
   }
</script>

Затем внедрите DummyBytes API. Этот API возвращает другой ответ в зависимости от браузера зрителя. Если браузер зрителя является встроенным браузером Instagram, он вернет несколько фиктивных байтов в виде файла, в противном случае он вернет ответ, который перенаправит браузер зрителя на ваш основной веб-сайт (mywebsite.com).

<?php
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    if (strpos($userAgent, 'Instagram')) {
        header('Content-type: application/pdf');
        header('Content-Disposition: inline; filename= blablabla');
        header('Content-Transfer-Encoding: binary');
        header('Accept-Ranges: bytes');
        @readfile($file);
    }
    else{
        header('Location: https://halterapp.com');
    }
?>

Если вам нужны дополнительные рекомендации, см. ссылку ниже:
Автоматическое открытие вашего веб-сайта во внешнем браузере зрителя вместо встроенного браузера Instagram

person Sasan Salem    schedule 12.11.2019
comment
@ J0ker98, к сожалению, это не работает на IOS. Я пытался найти способ, но из-за ограничений IOS браузер не распознает концепцию файла и показывает байты файла в браузере. Все, что вы можете сделать, это определить ОС клиента и, если это была IOS, попросить вашего клиента использовать внешний браузер. - person Sasan Salem; 17.02.2020