Geliştiriciler
iPad'im neden App Store yerine masaüstü sayfasını alıyor?
iPadOS 13'ten beri iPad'deki Safari kendini Mac olarak tanıtıyor. Cihaza göre yönlendirmenin onu neden kaçırdığı ve nasıl yakalanacağı.
Kısa cevap
iPadOS 13'ten beri iPad'deki Safari web sitelerinin masaüstü sürümünü ister ve bir Mac User-Agent'ı ("Macintosh; Intel Mac OS X 10_15_7") gönderir; bu yüzden "iPad" arayan bir yönlendirme onu bilgisayar sayar. Sunucu ikisini ayırt edemez; tarayıcıda ise navigator.maxTouchPoints değeri 1'den büyük olan bir Mac User-Agent'ı iPad'dir. OneStoreLink (onestore.link) böyle bir iPad'i bilgisayar sayfasına gönderir; oradaki App Store düğmesi mağazaya bir dokunuş uzaklıktadır.
Son inceleme: 2026-11-03
iPhone'ları App Store'a, Android telefonları Google Play'e gönderen bir bağlantı yaptın, test ettiğin her telefonda çalışıyor ve sonra iPad kullanan biri masaüstü sayfana düşüyor. Kodun yanlış değil: iPad ne olduğu konusunda bilerek yalan söyledi, çünkü Apple iPad'lerin tam masaüstü web sitelerini almasını istedi. Bu rehber iPad'in ne gönderdiğini, sunucunun bunu neden göremediğini, tarayıcıda nasıl tespit edileceğini ve bir mağaza yönlendirmesinin onunla ne yapması gerektiğini anlatıyor.
Sorun
- iPadOS 13'ten beri iPad'deki Safari varsayılan olarak masaüstü web sitesini ister ve Mac'teki Safari ile aynı User-Agent'ı gönderir.
- User-Agent üzerinde /iPad|iPhone/ gibi bir test hiçbir zaman eşleşmez, bu yüzden iPad bilgisayar olarak ele alınır.
- Sunucuda dayanılacak başka bir şey yoktur: masaüstü modundaki bir iPad'in isteği bir Mac'in isteğiyle aynı görünür.
- Bilgisayar dalı yalnızca mağaza düğmesi olmayan bir web sayfası gösteriyorsa, iPad kullanıcısı yükleyebileceği bir uygulamanın bir adım uzağında takılı kalır.
onestore.link ile
- Tarayıcıda, birden fazla dokunma noktası olan bir "Macintosh" User-Agent'ını iPad say: Mac'te navigator.maxTouchPoints 0'dır.
- Sunucuda bilgisayar dalını zararsız hale getir: her iki mağaza düğmesi olan bir sayfa, asla düğmesiz bir sayfa değil.
- onestore.link kararı sunucuda verir: normal bir tarayıcıda iPhone ve iPad User-Agent'ları doğrudan App Store'a, Android Google Play'e gider; masaüstü modundaki bir iPad dahil geri kalan herkes iki mağaza düğmesi ve bir QR kod içeren bir sayfa alır.
- Bu sayfadaki App Store düğmesi App Store'u doğrudan iPad'de açar, böylece ziyaretçi yüklemeye bir dokunuş uzaklıktadır.
Nasıl yapılır
SDK yok, yeniden derleme yok. Sadece bir URL.
- 1
iPad'i tarayıcıda tanı
Yönlendirmen JavaScript ile çalışıyorsa, User-Agent testine bir dokunma kontrolü ekle. Bir Mac asla birden fazla dokunma noktası bildirmez, bir iPad bildirir.
// iPadOS 13+: iPad'deki Safari bir Mac User-Agent'ı bildirir const ua = navigator.userAgent; const isIOS = /iPad|iPhone|iPod/.test(ua) || (/Macintosh/.test(ua) && navigator.maxTouchPoints > 1); const isAndroid = /Android/i.test(ua); - 2
Bilgisayar dalına iki mağaza düğmesini de koy
Sunucu tarafı bir yönlendirme bu kontrolü yapamaz, bu yüzden "bilgisayarlara" sunduğu sayfayı bazı iPad'ler görecektir. Bu sayfaya bir App Store düğmesi ve bir Google Play düğmesi, gerçek masaüstü bilgisayarlar için de bir QR kod koy.
- 3
Ya da yönlendirmeyi onestore.link'e bırak
İki mağaza URL'nle bir onestore.link oluştur. Telefonlar sunucuda yönlendirilir; masaüstü modundaki iPad'ler dahil diğer tüm ziyaretçiler iki düğme ve bir QR kod içeren bir sayfa alır. Bakımını yapacağın kod yok.
Sıkça sorulan sorular
Bir iPad neden Mac User-Agent'ı gönderir?
iPadOS 13'ten beri iPad'deki Safari varsayılan olarak web sitelerinin masaüstü sürümünü ister ve bunu almak için kendini macOS'taki Safari olarak tanıtır. Kullanıcı bir siteyi mobil sürüme geri alabilir, ama çoğu bunu hiç yapmaz.
Bir sunucu masaüstü siteyi isteyen bir iPad'i tespit edebilir mi?
Güvenilir şekilde edemez. User-Agent bir Mac'inkiyle aynıdır ve hiçbir istek başlığı dokunmatik ekranı ele vermez. Tespit, sayfada JavaScript gerektirir; basit bir 302 yönlendirmesi ise JavaScript çalıştırmaz.
navigator.maxTouchPoints tek başına yeterli mi?
User-Agent ile birlikte kullan: navigator.maxTouchPoints değeri 1'den büyük olan bir "Macintosh" User-Agent'ı iPad'dir. Tek başına, dokunmatik ekranlı Windows dizüstü bilgisayarlarla da eşleşir.
Bir iPad kullanıcısı onestore.link ile ne görür?
Safari'nin varsayılan masaüstü modunda bilgisayar sayfasını: uygulamanın adı ve simgesi, bir App Store düğmesi, bir Google Play düğmesi ve bir QR kod. App Store'a dokunmak App Store'u iPad'de açar. Tarayıcısı iPad User-Agent'ı gönderen bir iPad ise doğrudan App Store'a yönlendirilir.
Denemeye hazır mısın?
Sonsuza dek ücretsiz, şifre yok. Bağlantın yaklaşık bir dakikada hazır.
Ücretsiz bağlantını oluşturAraçları mı karşılaştırıyorsun? onestore.link vs onelink to →