Tôi muốn biết liệu người dùng của tôi đang duyệt một trang trong ứng dụng ray của tôi vớiKiểm tra qua user_agent (đường ray)
- một viên thuốc hoặc
- một thiết bị di động hoặc
- một máy tính để bàn
Tôi đã đào qua nhiều giải pháp khác nhau. Dưới đây là yêu thích của tôi:
- Các ua-phân tích cú pháp đá quý: https://github.com/ua-parser/uap-ruby mà có vẻ là rất sạch sẽ nhưng tiếc là nó luôn luôn âm mưu
Other
khi tôi sử dụngparsed_string.device
- Tôi có thể phát hiện các hệ điều hành và trình duyệt với nó rất tốt. - Viết nó từ đầu
Viết từ đầu đã kết thúc trong sth như thế này:
if request.user_agent.downcase.match(/mobile|android|iphone|blackberry|iemobile|kindle/)
@os = "mobile"
elsif request.user_agent.downcase.match(/ipad/)
@os = "tablet"
elsif request.user_agent.downcase.match(/mac OS|windows/)
@os = "desktop"
end
Tuy nhiên, những gì tôi nhớ là một tài liệu đầy đủ của 'thiết bị' định nghĩa tác nhân người dùng.
Ví dụ: Tôi cần xem mẫu nào nếu người dùng của tôi đang duyệt trên máy tính bảng/thiết bị di động hoặc máy tính để bàn? Tôi không thể đoán và kiểm tra ví dụ regex ua-parser cũng không giúp tôi (rất phức tạp): https://github.com/tobie/ua-parser/blob/master/regexes.yaml
Có giải pháp đơn giản nào để giải quyết vấn đề của tôi không? Google analytics làm như thế nào? Tôi đã cố gắng nghiên cứu nhưng không thể tìm thấy nó. Họ cũng đang hiển thị thiết bị (máy tính để bàn/máy tính bảng/thiết bị di động).
hãy thử [trình duyệt] (https://github.com/fnando/browser). Nó tốt hơn 'ua-parser' theo nhiều cách – usmanali
có vẻ đầy hứa hẹn, cảm ơn bạn – DonMB