Vibration API Nedir?

Vibration API (navigator.vibrate()), web sayfalarının akıllı telefonlar ve bazı tabletlere yerleştirilmiş fiziksel titreşim motorunu tetiklemesine izin veren bir tarayıcı standardıdır. Milisaniye cinsinden tek bir süre veya titreşim/duraklama sürelerinin değişen bir dizisi (titreşim deseni olarak adlandırılır) kabul eder. API, çoğu Android tarayıcısında desteklenir; iOS, platform kısıtlamaları nedeniyle web sayfalarına titreşim sunmaz.

Titreşim desenleri, tek dizinli değerlerin titreşim sürelerini ve çift dizinli değerlerin duraklama sürelerini temsil ettiği diziler olarak tanımlanır. Örneğin, [200, 100, 200] 200 ms titreşim, 100 ms duraklama, 200 ms titreşim anlamına gelir. navigator.vibrate(0) veya navigator.vibrate([]) çağrısı devam eden herhangi bir titreşimi hemen iptal eder.

Araç açıklaması

Bu araç, cihazınızın Vibration API'yi destekleyip desteklemediğini test etmenize ve titreşim desenlerini doğrudan tarayıcıda denemenize olanak tanır. Yapılandırılabilir bir süre ile tek bir darbe tetikleyebilir, tamamen özel virgülle ayrılmış bir desen girebilir veya SOS, kalp atışı ve çift/üçlü darbeler gibi yerleşik ön ayarlardan seçim yapabilirsiniz. Bir olay günlüğü, her titreşim denemesini zaman damgası ve kullanılan tam desen ile kaydeder, böylece farklı cihazlar ve tarayıcılar arasında sonuçları karşılaştırabilirsiniz.

Örnekler

Desen girişi Ne olur
300 300 ms süren tek darbe
200,100,200 200 ms titreşim → 100 ms duraklama → 200 ms titreşim
150,100,150,100,150 Aralarında 100 ms boşluk bulunan üç kısa darbe
0 Devam eden herhangi bir titreşimi iptal eder

Özellikler

  • Cihazın ve tarayıcının Vibration API'yi destekleyip desteklemediğini algılar ve yükleme sırasında durumu görüntüler
  • Kaydırıcı aracılığıyla 10 ms ile 5000 ms arasında ayarlanabilir tek darbe süresi
  • Özel desen girişi, titreşim ve duraklama sürelerinin herhangi bir virgülle ayrılmış dizisini kabul eder
  • Altı hazır ön ayar: Kısa Darbe, Uzun Darbe, Çift Darbe, Üçlü Darbe, SOS Deseni ve Kalp Atışı
  • Her tetiklenen deseni ve tarayıcı tarafından kabul edilip edilmediğini gösteren zaman damgalı olay günlüğü

Kullanım durumları

  • Mobil web geliştirme: Vibration API ile uygulanan haptik geri bildirimin özelliği göndermeden önce hedef cihazda gerçekten çalışıp çalışmadığını doğrulayın.
  • QA cihaz testi: Yerel bir uygulama yüklemeden yeni alınan veya onarılan bir akıllı telefonda titreşim motorunun çalışıp çalışmadığını hızlıca doğrulayın.
  • Desen prototipleme: Özel titreşim dizilerini (bildirim uyarıları, oyun geri bildirimi, erişilebilirlik ipuçları) tarayıcıda canlı olarak test ederek yineleyin.

Nasıl çalışır

Araç, sağladığınız değer ile navigator.vibrate(pattern) çağrısı yapar. Tarayıcı, çağrı kabul edildiyse true, reddedildiyse false döndürür — örneğin, belge odaklanmadığı veya cihaz API'yi desteklemediği için. Her iki sonuç da olay günlüğüne kaydedilir. Tüm işlemler tamamen cihazda gerçekleşir; hiçbir veri herhangi bir sunucuya gönderilmez.

Sınırlamalar

  • iOS (Safari, iOS üzerinde Chrome): Apple, iOS'ta navigator.vibrate() sunmaz, bu nedenle API her zaman iPhone'lar ve iPad'lerde desteklenmiyor olarak bildirilir.
  • Masaüstü tarayıcılar: Masaüstü bilgisayarların genellikle titreşim motoru yoktur, bu nedenle API mevcut olsa bile fiziksel bir etkisi yoktur.
  • Arka plan sekmeleri: Sayfa ön planda olmadığında bazı tarayıcılar titreşim çağrılarını sessizce reddeder.
  • Maksimum süre: Bireysel titreşim segmentleri tarayıcı tarafından sınırlandırılır (genellikle 10 saniye civarında); çok büyük değerler sessizce kesilebilir.