bitapps / wp-telemetry
WordPress 的简单遥测库。
v0.0.8
2024-06-01 10:06 UTC
Requires
- php: >=5.6
Requires (Dev)
- friendsofphp/php-cs-fixer: dev-master
- pestphp/pest: 3.x-dev
- phpcompatibility/php-compatibility: *
- squizlabs/php_codesniffer: *
README
此包提供了一种简单的方法将遥测跟踪添加到您的 WordPress 插件中。它每周向您的服务器发送有关插件使用情况的报告。
用法
1. 安装
使用 composer 安装此包
composer require bitapps/wp-telemetry
2. 创建遥测客户端
在插件的引导文件中初始化遥测客户端。
function initialize_telemetry_client() { TelemetryConfig::setTitle($title); TelemetryConfig::setSlug($plugin_slug); TelemetryConfig::setPrefix($plugin_prefix); TelemetryConfig::setVersion($plugin_version); TelemetryConfig::setServerBaseUrl( 'https://api.example.com/' ); TelemetryConfig::setTermsUrl( 'https://example.com/terms/' ); // (optional) TelemetryConfig::setPolicyUrl( 'https://example.com/privacy/' ); // (optional) Telemetry::report()->init(); // initialize telemetry tracking Telemetry::feedback()->init(); // initialize deactivation feedback survey } initialize_telemetry_client();
您已经可以开始了!👍️
遥测客户端将开始向您配置的服务器 URL 每周
发送数据。
配置
## 激活/禁用遥测跟踪
您可以在插件的设置页面中添加一个设置,允许用户选择是否启用或禁用遥测跟踪。您可以使用以下方法更改启用/禁用状态。
⚡️ 启用
Telemetry::report()->trackingOptIn();
⚡️ 禁用
Telemetry::report()->trackingOptOut();
⚡️ 检查跟踪是否启用
Telemetry::report()->isTrackingAllowed();
## 跟踪报告修改
⚡️ 过滤钩子以添加额外数据
此过滤钩子允许添加插件使用的跟踪信息所需的其他数据。您可以将 additional_data
数组修改为包含所需的任何自定义数据。
add_filter($plugin_prefix . 'telemetry_additional_data', 'customize_additional_data', 10, 1); function customize_additional_data($additional_data) { // Do your stuffs here return $additional_data; }
⚡️ 过滤钩子以修改遥测数据
此过滤钩子允许在将遥测数据发送到服务器之前修改遥测数据。您可以将 $telemetry_data
数组修改为包含所需的任何自定义数据。
add_filter($plugin_prefix . 'telemetry_data', 'customize_telemetry_data', 10, 1); function customize_telemetry_data($telemetry_data) { // Do your stuffs here return $telemetry_data; }
⚡️ 在跟踪数据中添加插件信息
Telemetry::report() ->addPluginData() ->init();
## 禁用反馈调查
⚡️ 过滤钩子以添加禁用原因
此过滤钩子允许添加到反馈调查中的额外禁用原因。您可以将 deactivate_reasons
数组修改为包含所需的任何自定义原因。
add_filter($plugin_prefix . 'deactivate_reasons', 'add_deactivate_reasons', 10, 1); function add_deactivate_reasons($deactivate_reasons) { // example of adding a custom deactivate reason $deactivate_reasons[] = [ 'title' => 'What could we have done to improve your experience?', 'placeholder' => 'Please provide your feedback here', ]; return $deactivate_reasons; }