В последнее время я использовал js для вызова приложений в WeChat, QQ и Weibo, я делал подобные функции раньше, но это относительно грубо, и рассмотрение не завершено, и это было давно, и многие технологии устарели. .Теперь есть технология возбуждения с лучшим опытом и более полными функциями.Многие из предыдущих решений больше не нужны.Теперь я поделюсь с вами комплексным и последним решением для возбуждения в этой статье.помощь.
окончательный эффект
Пользователь нажимает кнопку открытия приложения или загрузки на странице H5 (эта кнопка может находиться на странице загрузки, верхнем или нижнем баннере различных страниц обмена), если пользователь установил приложение, он перейдет к соответствующему собственному в соответствии с бизнес-страницей; если пользователь не устанавливает приложение, перейдите в AppStore или на рынок приложений, чтобы загрузить наше приложение.
Прикладной процесс
Прежде всего, все записи загрузки/пробуждения представляют собой прямой переход, который должен быть таким:
<a href="https://applink-party.mtime.cn/mtlf">下载</a>
или это:
window.location.href = 'https://applink-party.mtime.cn/mtlf'
Все деловые сужденияmtlf
У этой страницы есть два преимущества:
- Мультисервисный общий код. В команде у каждого бизнеса может быть загрузка баннера, нет более простого способа вызова, чем местоположение по URL-адресу
- в состоянии использовать
universal link
Кратко сказать универсальная ссылка
Преимущества универсальной ссылки
До iOS9 способ вызова был таким же, как сейчас в Android, оба используютscheme
У этого метода вызова есть небольшая проблема: каждый раз, когда он вызывается, он выдает подсказку: открывать ли приложение xx, чтобы, исходя из опыта, оно позволяло пользователю сделать еще один шаг.universal link
Он будет прыгать прямо и не будет останавливаться на странице.Условие — добавить новый в корневую директорию нашего проекта.apple-app-site-association.json
Содержимое файла примерно такое:
Затем наклейка app app app, а затем настроить внешний вид, вы можете достичь напрямую Evokes!
универсальная конфигурация ссылок
Как можно считать конфигурацию удачной на стороне H5? Пока один из наших URL-адресов открыт в браузере (будь то адрес cdn или перенаправление маршрутизации) и мы видим содержимое файла json, H5 будет успешно настроен. Тогда дайте этот адресiOS
Старые водители, как только с ними поговоришь, они сразу знают, что делать, ведь это так просто!
Wechat, Weibo, QQ, Safari предлагают решения на разных платформах
Блок-схема пробуждения
После длительного периода экспериментов мы обобщили это решение для вызова успеха / вызова неудачи в различных ситуациях, и мы будем говорить о них один за другим.
WeChat — самый важный канал обмена, но мы мало что можем сделать. До,iOS
Поддержка WeChat подuniversal link
Этот способ вызывания, но с 8 января 2018 г.WeChat заблокировал это! ! ! Неважно, по какой причине WeChat,iOS
С помощью этого наиболее удобного способа вызвать экранирование все, что мы можем сделать, это приспособиться. Итак, теперь, будь то iOS или Android, наш метод обработки одинаков:Все переходят прямо к сокровищнице приложения. Сокровище приложения iOS поможет вам открытьAppStore
, сокровище приложения для Android откроет приложение напрямую (при условии, что вы его загрузили)
Примечание: WeChatitunes
Ссылка тоже заблокирована, так что напрямую перейти не получитсяAppStore
, вы можете использовать приложение только для создания этого моста.
Вейбо
Weibo также поддерживаетuniversal link
Возбужденный, нам нужно только рассмотреть незагруженный случай.
- существует
iOS
Далее, Weibo не поддерживает ссылку для открытия сокровищницы приложения, поэтому нам нужно научить пользователей использоватьSafari
Откройте его так:
- существует
android
под платформу,использоватьscheme
Таким образом нельзя разбудить приложение, но есть и частные случаи, то же самоеscheme
, Комментарии для взрослых и NetEase Cloud Music. Вы можете попробовать это сами, когда у вас будет время, поэтому мы можем сделать вывод, что Weibo на платформе Android также имеет белый список, аналогичный WeChat, и можно использовать те, что в белом списке.scheme
Возбуждение, точно так же, как WeChat для JD.com, JD.com в WeChatscheme
способ вызвал.
Так ли этоiOS
ещеandroid
, наша схема такая:Непосредственно направляйте пользователя, чтобы использовать локальный браузер для открытия.
-
iOS
Под платформой QQ в настоящее время поддерживаетuniversal link
Arouse, если он не установлен, также поддерживает прямое открытие под QQ.itunes
Ссылки, по сравнению с другими приложениями, поддержка QQ является лучшей. -
android
В рамках платформы QQ также поддерживаетscheme
способ вызвать, ноВ некоторых старых моделях QQ будет с определенной вероятностью не вызывать, специфическое явление таково: когда страница открывается в первый раз, вызов завершается неудачно, а при повторном открытии вызывается успешно. По явлению можно сделать вывод, что в QQwebview
, будуscheme
Способ сделать вызвать некоторые ограничения на время загрузки, проверено, около 500 мс, больше, чем это значение времени, ситуация вызовет сбой происходит. Зачем открывать второй, вызывать, вероятность успеха будет велика, потому что при первой загрузке кэшированные файлы, при открытии второй напрямую загружаются, поэтому время находится в определенных пределах.
Safari
Safari в этом случае относительно прост и поддерживаетuniversal link
, также поддерживает прямое открытиеitunes
, поэтому его можно обработать, как показано на рисунке.
Ступай на яму
- существует
iOS9
середина,Safari
Прямой переход не поддерживаетсяitunes
, так что в этом случае вам нужно сделать обработку совместимости, вы можете перейти прямо к сокровищнице приложения - Прежде чем посмотреть, было ли возбуждение успешным, нужно самостоятельно рассчитать время, потому что, если возбуждение прошло успешно,
setInterval
Время будет медленнее.После моего теста я больше не могу использовать этот метод.Мне просто нужно использоватьdocument.hidden || document.webkitHidden
Да, совместимость хорошая - судить ли
Safari
В браузере общее суждение - есть ли эта строка в UA.После тестирования обнаружено, что UA Android также содержитSafari
Эта строка (показана UA ниже), поэтому вам нужно добавить суждение операционной системы
- о
Scheme
Пробуждайте, до этого было много схем, например: использованиеiframe
,<a>标签点击
,window.location
... После тестирования, пока вы используете тег a для щелчка, совместимость является лучшей, и код примерно такой длины:
О тестировании
Две платформы, так много ситуаций, хотите протестировать одну за другой? Конечно, нужно проверять поштучно, но в период разработки нет необходимости менять строку и тестировать на мобильном телефоне, что слишком неэффективно, особенно если вы выбираете мобильный телефон с Android 4.4, вы определенно можете отточить свое терпение. Для повышения эффективности я поделюсь с вами часто используемыми ПА, так что вChrome
После настройки в симуляторе вы можете выполнять отладку локально.Обычно используются следующие UA:
iOS-WeChat
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 MicroMessenger/6.6.1 NetType/WIFI Language/zh_CN
iOS-QQ
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 QQ/7.3.5.473 V1_IPH_SQ_7.3.5_1_APP_A Pixel/1125 Core/UIWebView Device/Apple(iPhone X) NetType/WIFI QBWebViewType/1
iOS-Weibo
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Mobile/15C202 Weibo (iPhone10,3__weibo__8.1.0__iphone__os11.2.2)
iOS-safari
Mozilla/5.0 (iPhone; CPU iPhone OS 11_2_2 like Mac OS X) AppleWebKit/604.4.7 (KHTML, like Gecko) Version/11.0 Mobile/15C202 Safari/604.1
Android-WeChat
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36MicroMessenger/6.6.1.1220(0x26060135) NetType/WIFI Language/zh_CN
Android-QQ
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/043807 Mobile Safari/537.36V1_AND_SQ_7.3.2_762_YYB_D QQ/7.3.2.3350 NetType/WIFI WebP/0.3.0 Pixel/1080
Android-Weibo
Mozilla/5.0 (Linux; Android 4.4.2; PE-TL20 Build/HuaweiPE-TL20) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36 Weibo (HUAWEI-PE-TL20__weibo__8.0.2__android__android4.4.2)
После завершения настройки можно переключать окружение на компьютере, как я:
Для использования исходного кода и файлов библиотеки обратитесь к: Github, пожалуйста, нажмите на меня
Проверка кода сканирования
Для всего процесса возбуждения вы можете получить доступ к этой записи загрузки:party.mtime.cn/download
Вы также можете отсканировать код: