عن المشروع
laravel-analytics هي حزمة Laravel طورها Spatie لاستخراج بيانات التحليلات من Google Analytics باستخدام Google Analytics Data API.
## القدرات
تعرض الحزمة واجهة `Spatie\Analytics\Facades\Analytics` مع عدة طرق مريحة:
- `fetchMostVisitedPages(Period $period, int $maxResults = 20)` — تُرجع fullPageUrl وpageTitle وscreenPageViews
- `fetchVisitorsAndPageViews(Period $period)` — تُرجع activeUsers وscreenPageViews
- `fetchVisitorsAndPageViewsByDate(Period $period)` — تضيف مفتاح تاريخ لكل صف
- `fetchTotalVisitorsAndPageViews(Period $period)` — تجمع الإجماليات حسب التاريخ
- `fetchTopReferrers(Period $period, int $maxResults = 20)` — تُرجع pageReferrer وscreenPageViews
- `fetchUserTypes(Period $period)` — تُرجع الزوار الجدد مقابل العائدين
- `fetchTopBrowsers(Period $period, int $maxResults = 10)` — تُرجع المتصفح وscreenPageViews
- `fetchTopCountries(Period $period, int $maxResults = 10)` — تُرجع البلد وscreenPageViews
- `fetchTopOperatingSystems(Period $period, int $maxResults = 10)` — تُرجع نظام التشغيل وscreenPageViews
- `get(Period $period, array $metrics, array $dimensions = [], ...)` — استعلامات GA4 العامة مع ترتيب وترقيم الصفحات وفلاتر الأبعاد والمقاييس
جميع الطرق تُرجع `Illuminate\Support\Collection` من المصفوفات.
## التثبيت
```bash
composer require spatie/laravel-analytics
```
اختيارياً، انشر التكوين:
```bash
php artisan vendor:publish --tag="analytics-config"
```
يتطلب التكوين المنشور في `config/analytics.php`:
- `property_id`: معرف موقع GA4 الخاص بك
- `service_account_credentials_json`: مسار مفتاح JSON لحساب الخدمة، أو مصفوفة تحتوي على بيانات الاعتماد
- `cache_lifetime_in_minutes`: الافتراضي 1440 دقيقة؛ اضبطه على 0 لتعطيل التخزين المؤقت
- `cache.store` والبادئة/الأعمار الاختيارية للتخزين المؤقت الأساسي
## إعداد المصادقة
1. أنشئ مشروعاً في [Google Cloud Console](https://console.developers.google.com/apis)
2. فعّل **Google Analytics Data API** في مكتبة الواجهات البرمجية
3. أنشئ حساب خدمة ونزّل مفتاحه JSON
4. شارك موقع GA4 الخاص بك مع بريد حساب الخدمة بحد أدنى دور المحلل
5. احفظ ملف JSON بأمان وشيّر التكوين إليه
## الفترات
يدعم فصل `Spatie\Analytics\Period` ما يلي:
```php
Period::days(7)
Period::months(6)
Period::create($startDate, $endDate) // يقبل مثيلات Carbon
```
## الاختبار بالمحاكاة
توفر الواجهة طريقة `fake` لاختبارات الوحدة والميزات:
```php
use Spatie\Analytics\Facades\Analytics;
Analytics::fake();
// أو مع استجابات محددة مسبقاً
Analytics::fake([
['pageTitle' => 'Home', 'activeUsers' => 10, 'screenPageViews' => 20],
]);
```
يمكن تشغيل اختبارات الحزمة بواسطة:
```bash
vendor/bin/pest
```
## الترخيص
مرخصة بموجب MIT. راجع الملف LICENSE في المستودع للتفاصيل.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.