🔗onestore.link

Розробникам

Чому мій iPad отримує сторінку для комп'ютера замість App Store?

Від iPadOS 13 Safari на iPad називає себе Mac. Чому перенаправлення за пристроєм його не розпізнає і як його впіймати.

Коротка відповідь

Від iPadOS 13 Safari на iPad запитує версії сайтів для комп'ютера й надсилає User-Agent від Mac («Macintosh; Intel Mac OS X 10_15_7»), тому перенаправлення, яке шукає «iPad», вважає його комп'ютером. Сервер не може їх розрізнити; у браузері User-Agent від Mac з navigator.maxTouchPoints більше 1 — це iPad. OneStoreLink (onestore.link) надсилає такий iPad на свою сторінку для комп'ютера, де кнопка App Store за один дотик від магазину.

Востаннє перевірено 2026-11-03

Ви зробили посилання, яке надсилає iPhone в App Store, а Android-телефони в Google Play, воно працює на кожному телефоні, який ви перевіряєте, — і раптом хтось з iPad потрапляє на вашу сторінку для комп'ютера. Ваш код не помиляється: iPad збрехав про те, чим він є, причому навмисно, бо Apple хотіла, щоб iPad отримували повноцінні сайти для комп'ютера. У цьому посібнику — що надсилає iPad, чому сервер не може цього розпізнати, як визначити його в браузері і що з ним має робити перенаправлення до магазину.

Створіть безкоштовне посилання приблизно за хвилинуабо увійдіть →

Проблема

  • Від iPadOS 13 Safari на iPad за замовчуванням запитує версію сайту для комп'ютера й надсилає той самий User-Agent, що й Safari на Mac.
  • Перевірка на кшталт /iPad|iPhone/ за User-Agent ніколи не спрацьовує, тому iPad вважається комп'ютером.
  • На сервері більше нема на що спертися: запит iPad у режимі комп'ютера виглядає як запит Mac.
  • Якщо гілка для комп'ютера показує лише вебсторінку без кнопки магазину, користувач iPad застрягає за крок від застосунку, який міг би встановити.

З onestore.link

  • У браузері вважайте User-Agent «Macintosh» з більш ніж однією точкою дотику iPad: на Mac navigator.maxTouchPoints дорівнює 0.
  • На сервері зробіть гілку для комп'ютера нешкідливою: сторінка з кнопками обох магазинів, а не сторінка без них.
  • onestore.link вирішує на сервері: у звичайному браузері User-Agent iPhone та iPad одразу йдуть в App Store, Android — у Google Play, а всі інші, зокрема iPad у режимі комп'ютера, отримують сторінку з кнопками обох магазинів і QR-кодом.
  • На цій сторінці кнопка App Store відкриває App Store просто на iPad, тож відвідувач за один дотик від встановлення.

Як це зробити

Без SDK, без перезбірки. Лише адреса.

  1. 1

    Розпізнайте iPad у браузері

    Якщо ваше перенаправлення працює на JavaScript, додайте до перевірки User-Agent перевірку дотиків. Mac ніколи не повідомляє більше однієї точки дотику, iPad — повідомляє.

    // iPadOS 13+: Safari на iPad повідомляє User-Agent від Mac
    const ua = navigator.userAgent;
    const isIOS = /iPad|iPhone|iPod/.test(ua) ||
      (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1);
    const isAndroid = /Android/i.test(ua);
  2. 2

    Дайте гілці для комп'ютера кнопки обох магазинів

    Серверне перенаправлення не може виконати цю перевірку, тож сторінку, яку воно віддає «комп'ютерам», побачать і деякі iPad. Розмістіть на ній кнопку App Store і кнопку Google Play, а для справжніх комп'ютерів — QR-код.

  3. 3

    Або доручіть маршрутизацію onestore.link

    Створіть onestore.link з двома URL магазинів. Телефони перенаправляються на сервері, а всі інші відвідувачі, зокрема iPad у режимі комп'ютера, отримують сторінку з обома кнопками і QR-кодом. Жодного коду для підтримки.

Часті запитання

Чому iPad надсилає User-Agent від Mac?

Від iPadOS 13 Safari на iPad за замовчуванням запитує версію сайтів для комп'ютера і, щоб її отримати, представляється як Safari на macOS. Користувач може повернути сайту мобільну версію, але більшість ніколи цього не робить.

Чи може сервер визначити iPad, який запитує версію для комп'ютера?

Надійно — ні. User-Agent такий самий, як у Mac, і жоден заголовок запиту не видає сенсорний екран. Для визначення потрібен JavaScript на сторінці, а просте перенаправлення 302 його не виконує.

Чи достатньо самого navigator.maxTouchPoints?

Використовуйте його разом з User-Agent: User-Agent «Macintosh» з navigator.maxTouchPoints більше 1 — це iPad. Сам по собі він спрацював би й на ноутбуках з Windows і сенсорним екраном.

Що бачить користувач iPad з onestore.link?

У режимі комп'ютера, який у Safari увімкнено за замовчуванням, — сторінку для комп'ютера: назву та іконку застосунку, кнопку App Store, кнопку Google Play і QR-код. Натискання на App Store відкриває App Store на iPad. iPad, чий браузер надсилає User-Agent iPad, перенаправляється просто в App Store.

Готові спробувати?

Безкоштовно назавжди, без пароля. Ваше посилання буде готове приблизно за хвилину.

Створити безкоштовне посилання
Власне дослідженняЩо відбувається з посиланням на застосунок, відкритим усередині Instagram і TikTok: 74,000 виміряних редиректівПопередні завантаження, яких ніхто не бачить, webview TikTok, що не пускає в магазин, і App Store, який відкривається поверх сторінки: що показують наші логи редиректів.

Порівнюєте інструменти? onestore.link проти onelink to →

Інші посібники

Дізнатися більше