assoconnect / rudderstack-bundle
此包已被废弃,不再维护。未建议替代包。
Rudderstack PHP 库
1.0.4
2022-05-23 13:27 UTC
Requires
- php: ^7.4|^8.0
- doctrine/annotations: 1.*
- psr/log: ^1.0
- rudderstack/rudder-php-sdk: 1.0.0
- symfony/config: >= 2.7
- symfony/dependency-injection: >= 2.7
- symfony/http-kernel: >= 2.7
- symfony/security-core: >= 2.7
This package is auto-updated.
Last update: 2022-07-18 08:05:51 UTC
README
此捆绑包包含用于分析的 Rudderstack 库
文档
大部分文档存储在此捆绑包的 Resources/doc 文件夹中
安装
通过 Packagist 安装捆绑包是安装捆绑包最快、最简单的方法。以下是步骤
步骤 1:Composer require
$ php composer.phar require "assoconnect/reudderstack-bundle":"dev-master"
步骤 2:在内核中启用捆绑包
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new AssoConnect\RudderstackBundle\RudderstackBundle(),
// ...
);
}
就这样!您现在可以使用 symfony 使用 Rudderstack。
配置
所需的 rudderstack 写入密钥
Symfony 4.X || 5.X
# config/packages/rudderstack.yml rudderstack: write_key: "%env(RUDDERSTACK_KEY)%" # add your key guest_id: "guest" # default guest. Guest id for annotation Track and Page env: prod #default prod. Can be prod (sending to rudderstack) and dev (not sending) options: consumer: socket #default debug: false #default ssl: false #default max_queue_size: 10000 #default batch_size: 100 #default timeout: 0.5 #default filename: null #default
Symfony 2.X || 3.X
# app/config/config.yml rudderstack: write_key: "%your_key%" #add your key guest_id: "guest" # default guest. Guest id for annotation Track and Page env: prod #default prod. Can be prod (sending to rudderstack) and dev (not sending) options: consumer: socket #default debug: false #default ssl: false #default max_queue_size: 10000 #default batch_size: 100 #default timeout: 0.5 #default filename: null #default
使用方法
从服务容器获取 rudderstack.analytics
服务并开始使用它
$analytics = $this->get('rudderstack.analytics'); $analytics->page([])
或使用注解(页面和跟踪)
用户注解来自 TokenStorage。如果用户不存在,则 id 设置为 guest
或配置中的 'guest_id'
use AssoConnect\RudderstackBundle\Configuration\Page; use AssoConnect\RudderstackBundle\Configuration\Track; /** * @Route("/", name="homepage") * * @Page( * name="index", * category="page", * properties={"foo":"bar"} * ) * @Track( * event="visit homepage", * properties={"bar":"foo"}, * useTimestamp=true, * context={"aa":"bb"} * ) */ public function indexAction(Request $request) { // your code }