laravel - Laravel : 有 Laravel 分析的国家
问题描述
我正在使用Laravel Analytics来获取我的应用程序访问者的数据。在我的Google Analytics(分析)仪表板中,每个页面都有自己的访问次数、唯一身份访问者、访问者国家/地区等 .. 如下图所示:
在我的web.php
中,我正在创建一个测试包的路线:
Route::get('/data', function () {
$analyticsData = Analytics::fetchMostVisitedPages(Period::days(7));
dd($analyticsData);
});
这条路线返回:
Illuminate\Support\Collection {#1564 ▼
#items: array:3 [▼
0 => array:3 [▼
"url" => "/new"
"pageTitle" => "test"
"pageViews" => 1534
]
1 => array:3 [▼
"url" => "/"
"pageTitle" => "test"
"pageViews" => 450
]
2 => array:3 [▼
"url" => "/customize/8"
"pageTitle" => "test"
"pageViews" => 196
]
如您所见,返回的数组只有url
,pageTitle
和pageViews
。如何在返回的数组中添加其他信息,例如国家或地理定位,如第一张图片所示?
解决方案
我从来没有使用过这个包,但是阅读文档,这样的事情就可以了。包文档声明您可以使用任何您想要的查询,
Google Analytics 文档提供了按位置获取会话的示例。
public function myCustomMethod($maxResults = 20)
{
$response = $this->performQuery(
$period,
'ga:sessions', // metrics
[
'dimensions' => 'ga:country',
'sort' => '-ga:sessions',
'max-results' => $maxResults,
],
);
return collect($response['rows'] ?? [])->map(fn (array $pageRow) => [
// Do something with the rows that are returned.
// I'm not sure how they're returned from the main response.
]);
}
请注意,这完全未经测试,您可能想在这里摆弄一些数据。
假设我了解文档,这将获取所有国家/地区(dimensions
),它将使用会话(ga:sessions
来自第二个参数)来衡量国家/地区数据。
然后它会进行排序并获得最大数量的结果。
您可以将指标更改为ga:pageviews
,但最终取决于您要使用哪些查询。
我已经链接了文档,因此您可以自己找到它们。
推荐阅读
- mysql - 仅计算分组查询中的第一个唯一组合
- sql - 雪花阶段文件路径,包括今天的日期
- powershell - 窗口标题栏去掉X的查询
- python - 如何使用打印的 Pandas Dataframe 输出?
- html - 设置最小高度时“裁剪”圆形 div 的底部
- jquery - BigCommerce 只需使用 jquery 提取客户地址?
- powershell - Powershell 输出没有按应有的方式进行
- android - 无法生成发布 apk - Android Gradle Plugin 7.0.0 混合了来自不同库的引用?
- flutter - 将 Json 子数组转换为 Flutter List
- r - for循环后如何在数据框中添加值?