qodenl/laravel-posthog

Posthog 的 Laravel 实现

1.1.0 2024-03-16 08:35 UTC

This package is auto-updated.

Last update: 2024-09-16 09:51:15 UTC


README

Latest Version on Packagist Total Downloads

本包为 Laravel 应用程序提供 Posthog 的简单集成。

该包涵盖了 Identify as Capture (事件) 请求,可以通过事件监听器手动或自动触发。

您还可以轻松地将功能标志集成到您的应用程序中。

此包使用 PostHog / posthog-php 包。有关 Posthog 的更多信息,请参阅他们的 文档

安装

您可以通过 composer 安装此包

composer require qodenl/laravel-posthog

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="QodeNL\LaravelPosthog\PosthogServiceProvider"  

发布内容后,在 .env 文件中设置您的 API 密钥和主机

POSTHOG_KEY=
POSTHOG_HOST=https://posthog.com
POSTHOG_ENABLED=true

确保您已从 Posthog 复制了正确的主机。

Posthog 默认启用,但您可以使用 POSTHOG_ENABLED 环境变量来禁用它。

确保禁用本地/测试环境中的 Posthog。

使用方法

手动事件

use QodeNL\LaravelPosthog\Facades\Posthog;

Posthog::capture('event name', ['property' => 'value']);

自动事件

您可以将 PosthogListener::class 监听器添加到您的 EventServiceProvider。当事件发生时,该包将自动创建捕获。

默认情况下,模型(在事件中可用)的所有 fillable 属性都将作为属性发送到 Posthog。

您可以通过在模型中添加 PosthogAttributes 属性来指定您想要发送到 Posthog 的属性。

public $posthogAttributes = [
    'first_name',
    'last_name',
];

hidden 属性中的属性将始终被忽略。

Identify

事件将以匿名用户的唯一 ID 发送到 Posthog。当用户被识别(通常在登录时)时,您应该触发 identify 方法以将唯一 ID 连接到用户。

您可以将有关用户的附加信息传递给要存储在其配置文件中的用户。

use QodeNL\LaravelPosthog\Facades\Posthog;

Posthog::identify('email@user.com', ['first_name' => 'John', 'last_name' => 'Doe']);

Alias

如果您想将一个会话 ID 分配给用户(例如前端会话 ID),则可以使用 alias 方法。

会话 ID 参数将被分配给用户自动生成的 ID。

Posthog::alias('Session ID here');

功能标志

获取所有功能标志

use QodeNL\LaravelPosthog\Facades\Posthog;

Posthog::getAllFlags();

获取所有功能标志,包括用户是否启用。

检查功能是否启用

use QodeNL\LaravelPosthog\Facades\Posthog;

Posthog::isFeatureEnabled('myFeatureFlagKey');

检查用户是否启用了功能。返回布尔值。

获取功能标志

use QodeNL\LaravelPosthog\Facades\Posthog;

Posthog::getFeatureFlag('myFeatureFlagKey');

获取功能标志。如果功能已禁用,则返回 false。如果设置,则返回 true(或 payload)。

可选属性

您可以将 groupspersonPropertiesgroupProperties 传递给 isFeatureEnabled 和 getFeatureFlag 函数。

请参阅 Posthog PHP 文档 了解更多信息。

在 Posthog 配置中,您可以配置是否将 事件 发送到 Posthog,以及您是否想 本地评估事件

队列 / 任务

捕获、identify 和 alias 操作由作业执行。请确保您已为应用程序启用并配置了 队列

变更日志

请参阅变更日志获取有关最近变更的更多信息。

致谢

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。