bitapps/wp-telemetry

WordPress 的简单遥测库。

v0.0.8 2024-06-01 10:06 UTC

This package is auto-updated.

Last update: 2024-09-02 08:31:21 UTC


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;
}