Hey there,
when I first stumbled across @texnixe’s kirby-mobile-detect
, I loved it - but sadly, it seemed that the underlying Mobile-Detect
library wasn’t actively developed anymore.
As time went by, I stumbled across Matomo’s (formerly known as Piwik) DeviceDetector
and decided to make a Kirby plugin out of it. This is still an early version and a work in progress, but apart from missing options which I will include in a later release (eg file caching of results, Kirby-style), it’s fully operational.
So check it out, stay tuned and let me know what you think!
Cheers.
1 Like
Update
Hey again, I just added a list of all available methods & finished version truncation, see below. This should make working with kirby-device
easier.
Attention: Caching & custom YAML parser coming soon!
Configuration
Change kirby-device
options to suit your needs:
Option |
Type |
Default |
Description |
plugin.kirby-device.truncate-version |
String |
minor |
Defines the browser build or version format according to the semantic versioning specification (allowed values are major , minor , patch as well as build & none ). |
plugin.kirby-device.enable-filecache |
Boolean |
true |
Optionally enables / disables filecache. |
Available methods
These methods are available to meet your device detection requirements:
// Configuration Methods
setCache()
setYamlParser()
discardBotInformation()
skipBotDetection()
// General Device Type Methods
isBot()
isMobile()
isDesktop()
isTouchEnabled() // win8 tablets only
// General Client Type Methods
getBot() // array
getClient() // array | optionally string, eg getClient('version'))
getOs() // array | optionally string, eg getOs('version')
getDevice()
getDeviceName()
getBrand()
getBrandName()
getModel()
getUserAgent()
// Specific Device Type Methods
isSmartphone()
isFeaturePhone()
isTablet()
isPhablet()
isConsole()
isPortableMediaPlayer()
isCarBrowser()
isTV()
isSmartDisplay()
isCamera()
// Specific Client Type Methods
isBrowser()
isFeedReader()
isMobileApp()
isPIM()
isLibrary()
isMediaPlayer()
Unless stated, all isSomething()
methods return booleans, all getSomething()
methods return strings.
Releasing v0.2.0
Caching has finally landed and is performed by Doctrine’s caching component. Have fun, of course feedback is welcome as always.
Cheers!
Thanks a lot, I’ll try it !
kirby-device
may now be installed through Composer.
Furthermore, piwik/device-detector on branch master
was updated to v3.10.1 (see ‘changelog’).