跳转到主要内容
OneSignal提供了默认的邮件合规取消订阅体验,将链接注入到您的邮件模板中,让用户可以轻松取消订阅,其偏好设置也会实时更新。 如果您想完全控制品牌、文案和字段(如类别退订),您可以用自己的自定义页面替换默认链接,并使用OneSignal API来取消订阅或更新用户偏好。 自定义取消订阅页面允许:
  • 品牌视觉效果(标志、颜色、字体)
  • 多语言支持
  • 使用标签进行偏好管理(退订特定邮件类别而不是全部)
  • 额外组件如调查以收集反馈

先决条件

在构建自定义页面之前,确保您具备:

移除OneSignal的默认取消订阅链接

OneSignal会自动在您的邮件模板中插入[unsubscribe_url]。此URL会取消用户在OneSignal中的所有邮件订阅。 要使用您自己的页面:
1

移除OneSignal的默认取消订阅链接

OneSignal会自动在您的邮件模板中插入[unsubscribe_url]。此URL会取消用户的邮件订阅以免收到OneSignal中的进一步邮件。有关详细信息,请参阅邮件取消订阅链接要使用您自己的页面,在模板中找到并移除默认链接
<a href="[unsubscribe_url]">取消订阅</a>
在块编辑器中,默认链接可能显示为嵌套形式:
块编辑器取消订阅链接

块编辑器取消订阅链接

2

添加您的自定义取消订阅链接

用您自己的URL替换默认链接。使用Liquid变量将OneSignal数据传递给您的页面。常用参数:
参数描述
app.idOneSignal应用ID
message.id邮件通知的ID
subscription.email订阅者的邮件地址
subscription.external_id用户的外部ID
subscription.language首选语言(用于本地化)
subscription.unsubscribe_token用于API验证的安全令牌
示例HTML块:
HTML
  <div style="text-align: center;">
    <a
      href="https://examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
      data-disable-tracking="true"
      style="display: inline; text-decoration: none;"
    >
      取消订阅
    </a>
    <p style="display: inline;">我们的邮件</p>
  </div>
添加自定义取消订阅链接

添加自定义取消订阅链接

禁用点击跟踪

取消订阅点击不应用于参与度指标。 为您的发送服务添加适当的无跟踪属性:
HTML
  <a
    href="https://www.examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
    data-disable-tracking="true"
  >
    取消订阅
  </a>
特定提供商属性:
提供商属性
OneSignaldata-disable-tracking="true"
Mailgundisable-tracking=true
SendGridclicktracking=off
Mandrillmc:disable-tracking

托管您的自定义取消订阅页面

部署一个网页,它:
  • 从取消订阅链接读取查询参数。
  • 显示用户友好的退订或偏好选项。
  • 通过API向OneSignal发送取消订阅或更新请求。
我们提供一个可用的GitHub示例项目,您可以复制并部署。
示例取消订阅页面

示例取消订阅页面UI


调用OneSignal API

根据您的用例,您可以使用以下API来取消订阅或更新用户偏好:
  • 通过Token更新订阅
  • 使用Token取消订阅邮件
  • 更新用户
当您有用户的邮件地址并只想让他们订阅或取消订阅所有邮件时,最常用此API。必需的查询参数:
  • app_id
  • token
需要身份验证
  • 从您的服务器调用此API。

现在您应该具备了创建自定义取消订阅页面所需了解的一切。

I