sensors-checker

Mostly all recent browsers expose an api for deviceorientation and devicemotion events. This module will let you check if there is really an accelerometer+gyroscope to rely on.

Usage no npm install needed!

<script type="module">
  import sensorsChecker from 'https://cdn.skypack.dev/sensors-checker';
</script>

README

sensorsChecker.js

npm version

Mostly all recent browsers expose an api for deviceorientation and devicemotion events.

  • That doesn't mean the device you're on has sensors (accelerometer+gyroscope) to feed them.
  • So, to check if the device has sensors, you can't rely on simple feature detection like "ondeviceorientation" in window or "ondevicemotion" in window
  • This module will let you check if there is really an accelerometer+gyroscope to rely on.
//check the sensors for the deviceorientation api
sensorsChecker.checkDeviceorientation(function(){
        console.log('sensors detected');
    },function(){
        console.error('no sensor detected');
    }
);
//check the sensors for the devicemotion api (this time with some options)
sensorsChecker.checkDevicemotion(function(){
        console.log('sensors detected');
    },function(){
        console.error('no sensor detected');
    },{
        userAgentCheck: /(iPad|iPhone|Nexus|Mobile|Tablet)/i,//@optional (to bypass the sniffing)
        delay: 600//@optional default delay : 500ms
    }
);

Used in :

Now available on npm: npm install sensors-checker --save