francescomalatesta/laravel-amplitude

一个用于与 Amplitude 一起工作的 Laravel 扩展包。

3.1.0 2023-06-26 16:15 UTC

This package is auto-updated.

Last update: 2024-09-26 19:03:51 UTC


README

Latest Version on Packagist Build Status Scrutinizer Code Quality Total Downloads

如果您需要跟踪 Laravel 应用程序在 Amplitude 中的事件,此扩展包将是您的得力助手。

此扩展包与 Laravel 5.8 版本兼容。

安装

您可以通过 composer 安装此扩展包

composer require francescomalatesta/laravel-amplitude

请记住使用 Artisan 发布配置文件

artisan vendor:publish

要正常运行,只需将项目的 Amplitude API 密钥添加到 .env 文件中,使用 AMPLITUDE_API_KEY 作为密钥。

如果您想使用 Amplitude 门面,请记住在 config/app.phpaliases 项中添加以下行。

'aliases' => [
    ...

    'Amplitude' => LaravelAmplitude\Facades\Amplitude::class
]

用法

Laravel Amplitude 使用简单的语法轻松跟踪产品事件。

设置用户 ID

首先,在发送任何内容之前,您需要设置用户 ID。

Amplitude::setUserId('user_id');

注意:设置用户 ID 是强制性的。否则,尝试向 Amplitude 发送数据时将出现错误。

发送事件

一旦设置了用户 ID,您就可以向您的 Amplitude 项目发送事件。

// simple sending...
Amplitude::sendEvent('app_opened');

// sending with properties...
Amplitude::sendEvent('subscription_paid', ['was_trial' => true]);

此外,您还可以使用专用方法 setUserProperties 更改用户属性

// properties new values are set here
Amplitude::setUserProperties([
    'trial' => false,
    'plan' => 'professional'
]);

// data is sent to Amplitude here
Amplitude::sendEvent('subscription_paid', ['was_trial' => true]);

重要:属性将在下一次 sendEvent 调用时发送到 Amplitude。如果没有其他 sendEvent 调用,则新用户属性将不会被保存。

事件队列

如果您要发送大量事件并且希望保持性能良好,您可以选择事件队列而不是您刚刚看到的简单发送。

使用事件队列,您将在请求完成后一次性发送所有事件,而不是在请求生命周期中多次进行 API 调用。

要使用它,只需将 sendEvent 调用切换到 queueEvent 方法。

// simple sending...
Amplitude::queueEvent('app_opened');

// sending with properties...
Amplitude::queueEvent('subscription_paid', ['was_trial' => true]);

无需做更多!当请求完成后,Laravel Amplitude 将自动触发数据的发送操作。

然而,如果您希望有更多控制,并希望在代码中发送队列中的事件,您可以手动通过调用 sendQueuedEvents 方法来实现。

// queueing an event...
Amplitude::queueEvent('app_opened');

// queueing another event...
Amplitude::queueEvent('subscription_paid', ['was_trial' => true]);

// send them!
Amplitude::sendQueuedEvents();

更新日志

有关最近更改的更多信息,请参阅 更新日志

贡献

有关详细信息,请参阅 贡献指南

安全性

如果您发现任何安全相关的问题,请通过电子邮件 francesco@ahia.store 而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议 (MIT)。有关更多信息,请参阅 许可文件