genealabs / mixpanel
Requires
- php: >=5.5.0
- illuminate/config: ~5.1
- illuminate/events: ^5.1
- illuminate/routing: ^5.1
- illuminate/support: ~5.1
- mixpanel/mixpanel-php: ~2.0
- nesbot/carbon: ^1.19
Requires (Dev)
- phpunit/phpunit: 4.*
This package is not auto-updated.
Last update: 2015-09-14 01:14:12 UTC
README
MixPanel for Laravel 5
注意事项
- 此包在
mixpanel/webhooks/*
下添加了多个路由。请确保这些路由与您的现有路由不冲突。
安装
使用 composer 安装 MixPanel
composer require genealabs\mixpanel:~0.1
在
config\app.php
中添加服务提供者条目'GeneaLabs\MixPanel\MixPanelServiceProvider',
配置
将您的 MixPanel 令牌更新到
.env
文件中MIXPANEL_TOKEN=xxxxxxxxxxxxxxxxxxxxxx
在服务配置(
config\services.php
)中加载令牌'mixpanel' => [ 'token' => env('MIXPANEL_TOKEN'), ],
我们需要禁用 Stripe webhook 端点的 CSRF 检查。为此,打开
app/HTTP/Middleware/VerifyCsrfToken.php
并在返回语句上方添加以下内容if ($request->is('mixpanel/webhooks/*')) { return $next($request); }
配置 Stripe webhook(如果您使用 Stripe):登录您的 Stripe 账户:https://dashboard.stripe.com/dashboard,然后打开账户设置的 webhook 选项卡
输入您的 MixPanel webhook URL,类似于以下内容:
http://<your server.com>/mixpanel/webhooks/stripe/transaction
:如果您确实正在运行实时环境,请确保选择“实时”(否则请将其置于测试模式并在上线时更新)。此外,选择“发送所有事件”以确保 MixPanel 端点可以充分利用 Stripe 数据。
用法
MixPanel 作为单例加载到 IoC 中。这意味着您无需像 MixPanel 文档中描述的那样手动调用 $mixPanel::getInstance()。这已在 ServiceProvider 中为您完成。
常见的用户事件会自动记录
- 用户注册
- 用户删除
- 用户登录
- 用户登录失败
- 用户注销
- Cashier 订阅
- Cashier 提交支付信息
- Cashier 订阅计划更改
- Cashier 取消订阅
要创建自定义事件,请简单地从 IoC 中获取 MixPanel 使用 DI
use GeneaLabs\MixPanel\MixPanel; class MyClass { protected $mixPanel; public function __construct(MixPanel $mixPanel) { $this->mixPanel = $mixPanel; } }
如果在某些情况下 DI 不适用,您也可以手动从 IoC 中检索它
$mixPanel = App::make('GeneaLabs\MixPanel\MixPanel');
之后,您可以像通常那样调用 MixPanel API
$mixPanel->identify($user->id);
$mixPanel->track('User just paid!');
$mixPanel->people->trackCharge($user->id, '9.99');
$mixPanel->people->set($user->id, [$data]);
等等...
Laravel 集成
默认情况下,它将记录每个人都会希望跟踪的常见事件。此外,如果使用 Laravel 带来的默认 $user->name
字段,它将拆分姓名,使用最后一个单词作为姓氏,而之前的一切都将作为名字。否则,它将在用户表中查找 first_name
和 last_name
字段。
用户注册
Track: User: - Status: Registered People: - $first_name: <user's first name> - $last_name: <user's last name> - $email: <user's email address> - $created: <date user registered>
用户更新
People: - $first_name: <user's first name> - $last_name: <user's last name> - $email: <user's email address> - $created: <date user registered>
用户删除
Track: User: - Status: Deactivated
用户还原(从软删除中)
Track: User: - Status: Reactivated
用户登录
Track: Session: - Status: Logged In People: - $first_name: <user's first name> - $last_name: <user's last name> - $email: <user's email address> - $created: <date user registered>
用户登录失败
Track: Session: - Status: Login Failed People: - $first_name: <user's first name> - $last_name: <user's last name> - $email: <user's email address> - $created: <date user registered>
用户注销
Track: Session: - Status: Logged Out
视图加载
Track: Page View: - Url: <page URL> - Route: <route name> - Referrer: <referring URL>
Stripe 集成
许多L5网站正在使用收银系统来管理他们的订阅。此包创建了一个API webhook端点,用于在MixPanel中记录关键的支付分析,以帮助识别客户流失。
默认情况下,它将为您在MixPanel中记录以下Stripe事件
收费
已授权的收费(仅在授权将来收费日期的支付时)
Track: Payment: - Status: Authorized - Amount: <amount authorized>
已捕获的收费(在完成之前已授权的收费时)
Track: Payment: - Status: Captured - Amount: <amount of payment> People TrackCharge: <amount of intended payment>
完成的收费
Track: Payment: - Status: Successful - Amount: <amount of payment> People TrackCharge: <amount of payment>
已退还的收费
Track: Payment: - Status: Refunded - Amount: <amount of refund> People TrackCharge: -<amount of refund>
失败的收费
Track: Payment: - Status: Failed - Amount: <amount of intended payment>
订阅
客户已订阅
Track: Subscription: - Status: Created People: - Subscription: <plan name>
客户已取消订阅
Track: Subscription: - Status: Canceled - Upgraded: false Churn! :( People: - Subscription: None - Churned: <date canceled> - Plan When Churned: <subscribed plan when canceled> - Paid Lifetime: <number of days from subscription to cancelation> days
客户开始试用
Track: Subscription: - Status: Trial People: - Subscription: Trial
客户升级了计划
Track: Subscription: - Upgraded: true Unchurn! :-) People: - Subscription: <new plan name>
客户降级了计划(基于与之前计划的美元价值比较)
Track: Subscription: - Upgraded: false Churn! :-( People: - Subscription: <new plan name> - Churned: <date plan was downgraded> - Plan When Churned: <plan name prior to downgrading>