Günümüzde insanlar büyük oranda akıllı mobil cihazları ile internete bağlanıyor ve web sitelerini de akıllı mobil cihazları ile gezmektedir, bu akıllı cihazların tamamına yakınında titreşim fonksiyonu bulunmakta ve bu tarayıcılar üzerinden Vibration API ile kontrol edilebilmekte.
Daha önce paylaştığım “Web sitesi/uygulama da titreşim fonksiyonu” yazısında jQuery ile bir fonksiyon paylaşmıştım ancak buna gerek olmadan kendi uygulamanız içerisine de Vibration API kullanarak kullanıcının cihazına istediğiniz türden ve zamanlamayla titreşim gönderme imkanınız var. Aslına bakarsanız https://github.com/illyism/jquery.vibrate.js çok ufak ve kullanışlı ben şahsen onu kullanmayı yeğlerim ancak dediğim gibi bir yere bağlı kalmadan özgün bir şey yazıyorsanız gerek yok.
Aşağıda örnek kodlama fikirleri vereceğim:
Öncelikle tarayıcının Vibration API desteğini kontrol etmek gerekir ve bu iyi bir fikir:
if (Boolean(window.navigator.vibrate)){
// Evet destekliyor
...
}
Basit bir titreşim yapmak:
// 500ms boyunca cihazı titret
window.navigator.vibrate(500);
// Üsteki ile aynı
window.navigator.vibrate([500]);
Farklı desenlerde bir titreşim yapmak:
// 500ms titret, 200ms bekle, 800ms titret
window.navigator.vibrate([500, 200, 800]);
Titreşimleri iptal etmek:
window.navigator.vibrate(0);
window.navigator.vibrate([])
Eğlenceli farklı desenli bir örnek:
window.navigator.vibrate([
100,30,100,30,100,30,
200,30,200,30,200,30,
100,30,100,30,100
]);
Not: Apple’ın API erişimlerine getirdiği kısıtlama nedeniyle iOS cihazlarda çalışmayabilir ancak Android vs. iOs olmayan tüm mobil cihazlarda çalışır. Firefox’da bazı sorunlar var ve şu an düzeltilene kadar çalışmayabilir, Chrome ve Chrome tabanlı tarayıcılarda sorunsuz.
Örneğimi buradan görebilirsiniz:
Android cihaz ile bakınız.