The _mobile_tools_is_mobile_device() function used to check whether a given device is a mobile device or not identifies the Google Ad Crawler (user agent string Mediapartners-Google) as a mobile device, because it matches the string in the final array tested. This can cause crawler errors to occur in Google Adsense.
Unfortunately, Google doesn't do a very good job at distinguishing its mobile crawler from its non-mobile crawler. However, it would be good if this could be identified some how.
What is really needed is a user-configurable way of deciding whether a device is mobile or not. There is a use case to be made for deciding that all Smartphones (Android, Apple, etc) should go to the main site while simple WAP phones got a mobile site, or a specific class of devices go to one site or the other. At the moment, it's all hard coded, it would be much nicer if this was abstracted into either a separate module, a database table (preferably) or a configurable text file.
Comments
Comment #1
yashadev commentedComment #2
devin carlson commentedMobile Tools can use user agent identification information from a variety of sources, including Browscap and WURFL.
If you are having issues with one of them, you might want to try another one. You can also contact the maintainer of the detection database used by the detection modules (for the Browscap module you can contact Gary using his contact form) and explain to them which user agent is being detected incorrectly.