Bagaimana caranya agar kita bisa menggunakan event DeviceMotion dan DeviceOrientation pada browser safari di iOS.

Sebelum melanjutkan, sebenernya apa sih event tersebut ?

Event ini mengakses accelerometer, gyroscope, dan compass pada smartphone anda, nah event ini juga bisa diakses melalui browser smartphone baik android maupun ios. Permasalahannya adalah di platform iOS event tersebut harus menggunakan izin privasi agar dapat bekerja.

Lalu apa kegunaannya event ini ?

Banyak sekali, anda bisa menggunakan event ini untuk membuat aplikasi kompas di browser smartphone, atau deteksi goyangan (shake) pada smartphone anda.

FYI .Untuk lebih jelasnya lain waktu saya akan membuat aplikasi dengan event ini. Jadi jangan lupa untuk subscribe website ini.

provide access to the built-in accelerometer, gyroscope, and compass in mobile devices.

Sejak ios 12.2 pihak apple memutuskan untuk membuat kebijakan privasi pada methode DeviceMotionEvent dan DeviceOrientationEvent. Referensi

Berikut ini script untuk akses DeviceMotionEvent.

 
// cek fitur
if (typeof DeviceMotionEvent.requestPermission === 'function') {
   DeviceMotionEvent.requestPermission().then(permissionState => {
    if (permissionState === 'granted') {
     window.addEventListener('devicemotion', () => {});
    }
})
.catch(console.error);
}
  
if (typeof DeviceOrientationEvent.requestPermission === 'function') {
    DeviceOrientationEvent.requestPermission()
       .then(permissionState => {
         if (permissionState === 'granted') {
         window.addEventListener('deviceorientation', () => {});
       }
    })
    .catch(console.error);
}