Đăng bởi:
Hùng ViệtĐăng ngày:
Dec 19, 2020Đăng ở:
Tin Tức Công NghệVới mỗi website thì việc thống kê số lượng truy cập là điều cần thiết. Với Google Analytics thì chúng ta có thể dễ dàng sử dụng bằng cách gắn mã theo dõi vào trang web và truy cập vào Google Analytics để theo dõi lượng truy cập. Tuy nhiên chúng ta cũng có thể lấy được các dữ liệu này và thêm vào phần quản trị của trang web để có thể dễ dàng theo dõi hơn. Trong bài viết này, mình sẽ hướng dẫn các bạn truy xuất dữ liệu từ Google Analytics API trong Laravel.
Đầu tiên, để bắt đầu, chúng ta cần cài đặt Laravel. Trong ứng dụng này mình sẽ sử dụng Laravel 5.8 nhé. Thao tác cài đặt các bạn có thể xem hướng dẫn trên trang chủ Laravel.com.
Đối với Laravel 5.8 trở lên, hãy sử dùng version 3.0.7 của thư viện này.
Cài đặt thư viện thông qua Composer.
composer require spatie/laravel-analytics
Tiếp theo, xuất bản tiếp cấu hình sẽ được tạo trong config/analytics.php bằng câu lệnh
php artisan vendor:publish --provider="Spatie\Analytics\AnalyticsServiceProvider"
# config/analytics.php
return [
/*
* The view id of which you want to display data.
*/
'view_id' => env('ANALYTICS_VIEW_ID'),
/*
* Path to the client secret json file. Take a look at the README of this package
* to learn how to get this file.
*/
'service_account_credentials_json' => storage_path('app/analytics/service_account_credentials_json.json'),
/*
* The amount of minutes the Google API responses will be cached.
* If you set this to zero, the responses won't be cached at all.
*/
'cache_lifetime_in_minutes' => 60 * 24,
/*
* Here you may configure the "store" that the underlying Google_Client will
* use to store it's data. You may also add extra parameters that will
* be passed on setCacheConfig (see docs for google-api-php-client).
*
* Optional parameters: "lifetime", "prefix"
*/
'cache' => [
'store' => 'file',
],
];
Đầu tiên bạn cần lấy một số thông tin xác thực để sử dụng API của Google. Mình giả định rằng bạn đã tạo tài khoản Google và đã đăng nhập.
Hãy truy cập trang Google API và click vào "Select a project", tại popup select a project click vào "NEW PROJECT".
Sau đó đặt tên cho project và Create
Sau khi hoàn tất thì sẽ chuyển sang trang dashboard của project. Tại đây mình click vào "ENABLE APIS AND SERVICES" giao diện thư viện API được hiện ra, lúc này bạn cần tìm vào chọn thư viện Google Analytics Api và click "ENABLE"
Tiếp theo bạn tạo một dự án có quyền truy cập vào Analytics API, tải tiệp json có các thông tin xác thực bằng cách click vào trang Credentials sau đó click icon download
Lưu tệp json vừa tải về bên trong dự án Laravel của bạn được chỉ định trong service_account_credentials_json của file cấu hình. Vì tệp json có chứa thông tin nhạy cảm, nên mình không khuyến khích bạn push nó lên kho lưu trữ git của bạn.
Mình giả sử rằng bạn đã tạo tài khoản Analytics trên trang Analytics. Tại trang quản trị, chọn User Management
Tại màn hình này bạn có thể cấp quyền truy cập cho địa chỉ email được tìm thấy trong client_email từ tệp json mà bạn tải xuống trước đó. Cấp quyền chỉ đọc là đủ
Cuối cùng bạn cần phải điền view_id vào tệp cấu hình tại file config/analytics.php. Bạn có thể nhận giá trị này trên trang Analytics. Tại trang quản trị, chọn View Settings.
Bạn sẽ thấy View ID
Sau khi cài đặt xong và mọi thứ đã được thiết lập chính xác, chúng ta có thể bắt đầu sử dụng package này trong dự án Laravel của mình . Package này cung cấp các phương pháp để truy xuất dữ liệu phân tích giống như API Google Analytics. Một số phương pháp phổ biến được liệt kê dưới đây.
// Lấy các trang được truy cập nhiều nhất trong ngày
$pages = Analytics::fetchMostVisitedPages(Period::days(1));
//Truy xuất dữ liệu khách truy cập và số lần xem trang trong 15 ngày
$visitors = Analytics::fetchVisitorsAndPageViews(Period::days(15));
// Truy xuất dữ liệu lấy tổng số khách truy cập và số lần xem trang
$total_visitors = Analytics::fetchTotalVisitorsAndPageViews(Period::days(7));
// Truy xuất các liên kết giới thiệu hàng đầu
$top_referrers = Analytics::fetchTopReferrers(Period::days(7));
// Truy xuất loại người dùng
$user_types = Analytics::fetchUserTypes(Period::days(7));
// Truy xuất các trình duyệt hàng đầu
$top_browser = Analytics::fetchTopBrowsers(Period::days(7));
$analyticsData = Analytics::performQuery(
Period::years(1),
'ga:sessions',
[
'metrics' => 'ga:sessions, ga:pageviews',
'dimensions' => 'ga:yearMonth'
]
);
Nếu bạn muốn có nhiều hơn khoảng thời gian để tìm kiếm dữ liệu, bạn có thể sử dụng thêm startDate và endDate cho period
Cảm ơn bạn đã đọc. Nếu bạn có bất kỳ câu hỏi, hãy chia sẻ chúng trong phần bình luận bên dưới.
https://github.com/spatie/laravel-analytics
Bình luận
Để lại bình luận
Email và số điện thoại sẽ không được công khai. Những trường bắt buộc được đánh dấu *
Bài hay quá, mai tích hợp vào cho khách, cảm ơn bài viết của bạn