[PHP] Detect user truy cập trên mobile

Kiểm tra xem user đang online trên thiết bị nào (desktop hay mobile) giúp chúng ta có thể quản lí việc hiển thị nội dung một cách tốt nhất nhầm giúp cho tốc độc website load nhanh nhất khi hiển thị những nội dung cần thiết nhất trên từng thiết bị cụ thể. Tuy hiện tại với tính năng reponsive thông qua css giúp có dãn thông qua việc sắp xếp bố cục website lại khi chiều ngang màn hình thay đổi nhưng nó không giúp ngăn chặn việc hiển thị những nôi dung mà nó chỉ hiển thị tốt nhất khi xem trên desktop: Ảnh có nhiều chi tiết, ảnh nền ẩn (không tự co dãn được), những file flash,…

Thế nên cách tốt nhất là chúng ta cần chủ động detect xem user truy cập vào website của chúng ta bằng thiết bị nào để hiện thị sao cho phù hợp nhất. Trong nội dung này mình muốn chia sẻ 2 vấn đề:

Một số trường hợp cần detect user online thiết bị nào?

  • Những trang tin tức muốn tối ưu hóa tốc độ tải trang, hiển thị quảng cáo cho từng độc giả
  • Những publisher muốn điều hướng user sang cùng 1 landing page nhưng, cùng một đường dẫn chia sẻ nhưng lại có 2 redirect hoàn toàn khác nhau (mobile và desktop).
    Note: Những ai không biết code có thể sử dụng công cụ rutgon.win với cách điều hướng link rút gọn với từng thiết bị khác nhau.

Code PHP giúp detect user online  thiết bị nào?

Hàm detect user

function isMobileDevice() {
 return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}

Ví dụ

<?php
function isMobileDevice() {
 return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
if(isMobileDevice()){
 echo "Bạn đang online trên di động.";
}
else {
 echo "Bạn đang online trên desktop.";
}

Url kiểm tra: https://minhclear.net/vi-du/detect_mobile.php

[PHP] Detect user truy cập trên mobile
5 (100%) 1 đánh giá

Thích chia sẻ kinh nghiệm, kiến thức mà mình biết và... muốn chia sẻ, nhưng do hạn chế về thời gian nên mình mong muốn những ai cùng sở thích với mình tham gia viết bài ngay tại website minhclear.net.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Website này sử dụng Akismet để hạn chế spam. Tìm hiểu bình luận của bạn được duyệt như thế nào.