[matomo/device-detector]一个通用的客户端设备分析库

2022-03-19 奥古斯宏
一个通过User Agents 获取和分析客户端信息的实用库

device-detector是一个非常实用的user agent分析库,可以非常容易的获取客户端各类信息.

获取设备类型

  • 台式机
  • 平板桌面
  • 移动手机
  • 电视盒子
  • 车载系统
  • 命令行控制台

获取客户端类型

  • 浏览器
  • feed阅读器
  • 媒体播放器
  • PIM软件(各类邮箱程序)

同时可以获取各种操作系统/品牌/型号等.


基本使用

使用方式非常简单,只要引入自动加载文件就能立即上手:

require_once 'vendor/autoload.php';

use DeviceDetector\ClientHints;
use DeviceDetector\DeviceDetector;
use DeviceDetector\Parser\Device\AbstractDeviceParser;

// 可选项:不对版本号做处理
// 默认只返回主要版本号(e.g. X.Y)
AbstractDeviceParser::setVersionTruncation(AbstractDeviceParser::VERSION_TRUNCATION_NONE);

$userAgent = $_SERVER['HTTP_USER_AGENT']; // 设置获取到的(对于现代框架而言,这种方法更合适)
$clientHints = ClientHints::factory($_SERVER); // 使用内置的获取方法

$dd = new DeviceDetector($userAgent, $clientHints);

// 可选项: 设置缓存
// 默认情况下,只是用静态类为缓存,只适合常驻后台的执行方式
// 可以指定一个文件缓存目录
// $dd->setCache(new Doctrine\Common\Cache\PhpFileCache('./tmp/'));


// 可选项:忽略大部分爬虫(可以提高一点点性能)
// $dd->discardBotInformation();

// 可选项:忽略全部爬虫(进一步提高性能)
// $dd->skipBotDetection();

$dd->parse();

if ($dd->isBot()) {
  // 处理客户端
  $botInfo = $dd->getBot();
} else {
  $clientInfo = $dd->getClient(); // 获取客户端基本信息
  $osInfo = $dd->getOs();
  $device = $dd->getDeviceName();
  $brand = $dd->getBrandName();
  $model = $dd->getModel();
}

支持的设备类型判断方法

$dd->isSmartphone();
$dd->isFeaturePhone();
$dd->isTablet();
$dd->isPhablet();
$dd->isConsole();
$dd->isPortableMediaPlayer();
$dd->isCarBrowser();
$dd->isTV();
$dd->isSmartDisplay();
$dd->isSmartSpeaker();
$dd->isCamera();
$dd->isWearable();
$dd->isPeripheral();

支持的客户端判断方法

$dd->isBrowser();
$dd->isFeedReader();
$dd->isMobileApp();
$dd->isPIM();
$dd->isLibrary();
$dd->isMediaPlayer();

支持超过1000中设备信息判断

支持判断各种操作系统:

  • Android
  • Windows
  • iOS
  • Linux系列
  • 等123个操作系统

支持各种浏览器:

  • 360浏览器
  • 火狐浏览器
  • Edge
  • 等359个浏览器

支持判断各种浏览器引擎:

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。

  • WebKit
  • Blink
  • 等16个引擎

支持各种HTTP客户端库:

  • cURL
  • Guzzle
  • 等46个HTTP客户端

支持各种播放器:

  • MPlayer
  • VLC
  • 等30个播放器

支持各种APP识别:

  • 微信APP
  • 等237个APP识别

还支持其他的各种信息收录识别,具体可以查看说明文件.

下图仅展示了一小部分,具体可以查看说明文件.

版权声明:本文由phpreturn.com(PHP武器库官网)原创和首发,所有权利归phpreturn(PHP武器库)所有,本站允许任何形式的转载/引用文章,但必须同时注明出处。


最近浏览
IP用户:123.244.*.*
11 小时前 Go-http-client
IP用户:101.67.*.*
12 小时前 Generic Bot
IP用户:85.208.*.*
5 天前 Semrush Bot
IP用户:34.64.*.*
7 天前 Googlebot
IP用户:34.64.*.*
7 天前 Googlebot
IP用户:74.125.*.*
7 天前 Googlebot
IP用户:110.154.*.*
8 天前 Go-http-client
IP用户:114.119.*.*
8 天前 Petal Bot
IP用户:60.188.*.*
9 天前 Generic Bot
IP用户:66.249.*.*
11 天前 Googlebot
IP用户:220.181.*.*
13 天前 Baidu Spider
IP用户:72.14.*.*
14 天前 Googlebot
累计浏览次数:767
评论
点击登录
phpreturn,PHP武器库,专注PHP领域的项目和资讯,收录和介绍PHP相关项目。

本站所有权利归 phpreturn.com 所有

举报/反馈/投稿邮箱:phpreturn@ulthon.com

鲁ICP备19027671号-2