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

本文介绍DeviceDetector库,轻松获取设备类型(如手机、平板、电视等)、客户端类别(浏览器、移动应用等),并详细解读其版本判断、缓存设置和爬虫处理等功能。涵盖了1000+设备、浏览器、引擎及APP识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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个浏览器

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

  • WebKit
  • Blink
  • 等16个引擎

支持各种HTTP客户端库:

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

支持各种播放器:

  • MPlayer
  • VLC
  • 等30个播放器

支持各种APP识别:

  • 微信APP
  • 等237个APP识别

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值