跳转到主要内容

Documentation Index

Fetch the complete documentation index at: https://docs.mellowtel.com/llms.txt

Use this file to discover all available pages before exploring further.

这是什么

Mellowtel 不会在用户明确选择加入之前共享任何字节的带宽,并且用户必须始终有一个明显的方式选择退出。这是 SDK 的硬性要求,也是允许基于 Mellowtel 的扩展的每个浏览器商店政策的硬性要求。

为什么重要

这是用户的带宽。任何不明确且可撤销的同意都是不道德的,并且是商店移除的理由。SDK 的设计使得简单的路径也是合规的路径。如果你遵循推荐的实现方式,就不会意外发布未经同意就激活的版本。

如何运作

在首次安装(以及任何新引入 Mellowtel 的更新)时,你必须向用户展示一个不可关闭的免责声明,解释 Mellowtel 的作用,然后捕获他们的选择。从那时起,必须在你的 UI 中的某个明显位置提供一个设置链接,以便他们可以改变主意。
你有两种实现选项:
  1. 推荐: 使用 generateAndOpenOptInLink() 打开预构建的 Mellowtel 选择加入页面。一个方法调用,完全合规,最大化选择加入转换。
  2. 自定义 UI: 构建你自己的同意界面,并自行调用 optIn() / optOut()

API 接口

方法返回值用途
generateAndOpenOptInLink()Promise<void>打开托管的选择加入页面(推荐路径)。
getOptInStatus()Promise<boolean>检查用户是否已经选择加入。
optIn()Promise<void>从你自己的 UI 记录同意。
optOut()Promise<void>从你自己的 UI 撤销同意。
start()Promise<void>在选择加入后开始服务请求。
generateSettingsLink()Promise<string>获取托管设置页面的 URL,以便用户以后可以更改选择。
所有方法都可以从扩展的任何部分访问:弹出窗口、内容脚本或后台脚本。

推荐实现

完整的集成演练在平台快速入门中。它们展示了如何放置 SDK,如何将其连接到安装/更新生命周期,以及如何测试: 简而言之,在 new Mellowtel(...)initBackground() 之后,从你的安装/更新处理程序调用 generateAndOpenOptInLink()。就是这样。

自定义 UI

如果你想完全控制同意界面,在你自己的 UI 中捕获用户的选择并将其转发给 SDK:
// 用户同意
await mellowtel.optIn();
await mellowtel.start();

// 用户拒绝或稍后撤销
await mellowtel.optOut();

// 检查状态(例如渲染一个切换)
const hasOptedIn = await mellowtel.getOptInStatus();
无论你构建什么 UI,它必须:
  1. 在首次安装时不可关闭。
  2. 默认选择退出,直到用户主动同意。
  3. 在你的产品中某个明显位置可以重新打开,以便用户可以更改选择。

设置链接

用户必须始终有一个简单的方法来更改他们的设置。使用 generateSettingsLink() 获取托管设置页面的 URL,并将其放置在某个持久的位置:你的弹出窗口、选项页面、账户屏幕。
const settingsUrl = await mellowtel.generateSettingsLink();

向现有用户宣布 Mellowtel

如果你正在向已经有用户的扩展中添加 Mellowtel,你需要在请求同意之前告诉他们发生了什么变化。我们提供了一个可复制粘贴的公告模板,你可以进行调整。

相关内容

  • 隐私:用户实际上同意分享的内容。
  • 速率限制:SDK 如何保护选择加入的用户。