rezuankassim/bqanalytic

这是一个简化BigQuery和Firebase Analytics集成的包

1.4.2 2020-04-29 05:37 UTC

README

Latest Version on Packagist

这里应该放置您的描述。请查看 contributing.md 以查看待办事项列表。

安装

通过 Composer

$ composer require rezuankassim/bqanalytic

可选地,您可以发布配置文件

$ php artisan vendor:publish RezuanKassim/BQAnalytic/BQAnalyticServiceProvider

重要

确保您的 .env 文件中有以下值设置

GOOGLE_CLOUD_APPLICATION_CREDENTIALS=path_to_your_credentials_file
GOOGLE_CLOUD_PROJECT_ID=your_google_cloud_project_id
BQANALYTIC_BQ_TABLE_NAME=your_bigquery_datasets_name
GOOGLE_CLOUD_APPLICATION_NAME=your_google_cloud_application_name

然后

$ php artisan migrate

之后

$ php artisan db:seed --class=AnalyticSeeder

如果在运行上述命令时出现错误提示,您需要发布 vendor 文件。

使用方法

将此代码包含到您的用户实体中

use RezuanKassim\BQAnalytic\Traits\hasAnalyticPreferences;

....

class User extends Authenticatable
{
    use Notifiable, hasAnalyticPreferences;

然后运行 php artisan bqanalytic:export 将大查询数据导出到您本地的数据库中

注意: php artisan bqanalytic:export 可以接收两个日期,即开始日期和结束日期,如 php artisan bqanalytic:export 20200420 20200420

接下来,在您的控制器中

use RezuanKassim\BQAnalytic\BQAnalytic;

...

$results = (new BQAnalytic(auth()->user(), Carbon::createFromFormat('d/m/Y', $range[0])->format('Ymd'), Carbon::createFromFormat('d/m/Y', $range[1])->format('Ymd')))->getAllAnalytics()[config('bqanalytic.google.accounts')[0]['name']];

可选地,您可以通过以下方式启用多个项目

BQANALYTIC_MULTIPLE_PROJECTS=true

设置此变量在您的 env 中并发布配置文件

并在 google => [accounts => [here]] 中插入以下代码

    [
        'name' => 'YOUR_PROJECT_NAME',
        'google_credential' => "FULL_PATH_TO_YOUR_CREDENTIALS",
        'google_project_id' => 'PROJECT_ID',
        'google_bq_dataset_name' => 'YOUR_DATASET_NAME'
    ]

从版本 1.3 开始,如果您愿意,您可以在数据库中存储所有客户端

BQANALYTIC_CLIENT_FROM_DB=true

在 .env 文件中

这将使用一个包含的 RezuanKassim\BQAnalytic\BQClient 模型来存储客户端信息

可选地,您也可以使用自己的模型,通过包含

BQANALYTIC_CLIENT_MODEL=App\Client

在 .env 文件中

但请记住在客户端模型中包含以下代码

use RezuanKassim\BQAnalytic\Traits\hasClientFromDB;

...

class Client extends Model
{
    use hasClientFromDB;

    protected $table = 'bq_clients';

    protected $guarded = ['created_at', 'updated_at', 'id'];

    protected $casts = [
        'status' => 'boolean'
    ];
}

变更日志

请参阅 changelog 以获取有关最近更改的更多信息。

测试

$ composer test

贡献

请参阅 contributing.md 以获取详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件发送给作者,而不是使用问题跟踪器。

致谢

许可证

许可证。请参阅 许可证文件 以获取更多信息。