infoweb-internet-solutions/yii2-cms-analytics

Yii2 的分析模块

1.0.0 2015-01-05 09:57 UTC

This package is not auto-updated.

Last update: 2024-09-30 09:24:17 UTC


README

谷歌分析

安装

安装此扩展的首选方法是通过 composer.

运行以下命令之一

php composer.phar require --prefer-dist infoweb-internet-solutions/yii2-cms-analytics "*"

或者

"infoweb-internet-solutions/yii2-cms-analytics": "*"

将以下内容添加到您的 composer.json 文件的 require 部分。

访问 谷歌开发者控制台

创建一个新的项目(或使用现有的项目)

打开项目

转到 'API & Auth -> API's' 并启用 'Analytics API'

转到 'API & Auth -> Credentials' 并在 'OAuth' 下点击 '创建新的 Client ID'

选择 'Service account' 并点击 '创建 client id'

将证书保存到 'backend\assets\certificate\certificate.p12'(别忘了重命名文件)

将 'private key' 的密码记录下来

将凭据添加到您的后端参数中

return [
    ...
    'analytics' => [
        'developerKey' => '', // Public key fingerprints
        'serviceAccountName' => 'xxx@developer.gserviceaccount.com', // Email address
        'clientId' => 'xxx.apps.googleusercontent.com', // Client ID
    ],
];

访问 谷歌分析,打开您的属性并获取您的 'Profile ID'

(它是以 p: 开头的 URL 末尾的数字:https://www.google.com/analytics/web/#home/a11345062w43527078pXXXXXXXX/

将 'Profile ID' 添加到您的参数中

return [
    ...
    'analytics' => [
        ...
        'analyticsId' => 'ga:XXXXXXXX',
    ],
];

将 serviceAccountName(《xxx@developer.gserviceaccount.com》)作为新用户添加到您的分析属性中

在 common/config 的 bootstrap 文件中创建别名 '@google/api',如下所示

Yii::setAlias('google/api', dirname(dirname(__DIR__)) . '/vendor/google/apiclient/src');

导入翻译并使用类别 'infoweb/analytics'

yii i18n/import @infoweb/analytics/messages

如果您无法访问服务器上的 /tmp 文件夹(共享托管),请在 vendor\google\apiclient\src\Google\ 中的第 94 行进行更改

'directory' => dirname(Yii::getAlias('@webroot')) . '/runtime/Google_Client'

用法

安装扩展后,将 backend/views/site/index.php 中的内容替换为以下内容

<?php
use infoweb\analytics\Analytics;

$this->title = Yii::$app->name;
?>
<div class="site-index">
    <div class="body-content">
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">
                    <?= Yii::t('app', 'Dashboard'); ?>
                    <span class="pull-right report-period">
                        <strong><?= Yii::$app->formatter->asDate(date('d-m-Y', strtotime('-1 month')), 'medium'); ?>&nbsp;-&nbsp;<?= Yii::$app->formatter->asDate(date('d-m-Y'), 'medium'); ?></strong>
                    </span>
                </h1>
            </div>
        </div>

        <div class="row">
            <?= Analytics::widget(['dataType' => Analytics::TOTAl_SESSIONS]); ?>
            <?= Analytics::widget(['dataType' => Analytics::TOTAL_USERS]); ?>
            <?= Analytics::widget(['dataType' => Analytics::TOTAL_PAGE_VIEWS]); ?>
            <?= Analytics::widget(['dataType' => Analytics::AVERAGE_SESSION_LENGTH]); ?>
        </div>

        <div class="row">
            <?= Analytics::widget(['dataType' => Analytics::SESSIONS]); ?>
        </div>
        <div class="row">
            <?= Analytics::widget(['dataType' => Analytics::VISITORS]); ?>
            <?= Analytics::widget(['dataType' => Analytics::COUNTRIES]); ?>
        </div>
    </div>
</div>

有用链接

谷歌分析查询探索器 2
谷歌 API Php 客户端
开发者文档
谷歌图表