Можно ли определить наличие приложения на смартфоне при посещении сайта?

Доброго времени суток!


Подскажите, можно ли каким-то образом при заходе на определенный сайт с мобильного устройства (android, ios), проверить, установлено ли нужное приложение (Например, для того чтобы показать на сайте ссылку на приложение в маркете в случае его отсутствия на смартфоне).


Если это возможно, подскажите, пожалуйста, как? Где можно почитать.
  • Вопрос задан
  • 8927 просмотров
Пригласить эксперта
Ответы на вопрос 8
@feel_good
Можно, но это больше похоже на хак.

В приложении регистрируете Custom URL Scheme, на сайте проверяете, можно ли открыть этот URL, если нет — приложение не установлено
Ответ написан
nanomen
@nanomen
front-end разработчик
Есть стандартный баннер от Apple - Smart App Banners

Достаточно на странице поставить meta тег:

<meta name="apple-itunes-app" content="app-id=myAppStoreID, affiliate-data=myAffiliateData, app-argument=myURL">

app-id - 9 цифр ID приложения (можно взять из урл - https://itunes.apple.com/ru/app/danceconvention.ne...

Подробнее про affiliate-data и app-argument можно почитать в документации

https://developer.apple.com/library/ios/documentat...
Ответ написан
Комментировать
yeleleo
@yeleleo
Можно, но это делается на сервере и для этого используется Custom URL Scheme.

Например для питона это выглядит так:

class ConnectHandler(webapp.RequestHandler):

    def get(self, link_id):
        try:
            link = LinkModel.gql("WHERE link=:1", link_id).get()
            if link is None:
                raise LinkNotFoundError
        except (db.BadKeyError, LinkNotFoundError):
            self.error(400)
            return
        user_agent = self.request.headers['User-Agent'].lower()
        if user_agent.find('ipad') != -1:
            self.redirect('/ipad/' + link_id)
        elif user_agent.find('iphone') == -1 and user_agent.find('ipod') == -1:
            self.redirect('/noiphone')
        else:
            self.redirect('/iphone/' + link_id)

app = webapp.WSGIApplication(service_mappings + [
    (r'/noiphone', NoIphoneHandler),
    (r'/iphone/([a-zA-Z0-9-_]{1,256})', IphoneHandler),
    (r'/iphoneno', IphoneNoAppHandler),
    ] )

Ответ написан
Комментировать
Gorthauer87
@Gorthauer87
Программист
Нет, только через хаки.
Ответ написан
Комментировать
Antelle
@Antelle
Вероятно, нельзя. Если можно, то это дыра в безопасности.
Ответ написан
Комментировать
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
может попробовать тыкнуться в гугль маркет или маркет яблок с авторизаци ей от клиента и спросить у маркета — установлена ли «софтина» на таком то устройстве. напрямую в OS вас так врядли пустят
Ответ написан
EndUser
@EndUser
Куча форумов предлагает андроид-софт для его посещения.
Особо раздражает tapatalk.
Очевидно, что софт, в отличие от браузера, либо даёт референс, либо специфический урл, но это уже не важно. tapatalk наверняка найдёт способ проявить себя перед сайтом.
Причём при наличии того же tapatalk сбоку и входе через нормальный браузер, я уверен, сайт опять таки предложит инсталляцию.
Ответ написан
Комментировать
Alexx_ps
@Alexx_ps
Если хаки, про которые шла речь выше, действительно можно реализовать, то ваш сайт наверняка в скором времени попадет под внимание антивирусных компаний. Они и за меньшие вещи заносят сайты в свой блэклист.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы