跳转到主要内容

什么是偏好设置中心?

偏好设置中心是您的应用程序或网站中的一个页面,允许用户控制他们从您这里接收消息的方式和类型。有关创建偏好设置中心的更多详细信息和原因,请参阅用户偏好设置中心指南 本指南解释了使用 OneSignal API 在您的应用程序或网站中包含用户偏好设置中心所需的技术设置。在本指南中,我们讨论如何:
  • 使用数据标签分配主题、类别和频率控制
  • 收集新的沟通渠道(推送通知、邮件、短信)
  • 如果用户想要退出,禁用沟通渠道
  • 处理数据合规性
  • 删除用户数据

要求

  • OneSignal 的移动 SDK 版本 5+ 和/或 Web SDK 16+
  • 设置外部 ID 或别名
  • OneSignal 不提供用于创建偏好设置中心布局的 API,仅提供 GET、PATCH 和 DELETE 用户和订阅的 API
    • 如果您有网站并需要简单的偏好设置中心,请尝试我们的类别提示

其他推荐阅读

设置

当用户访问您的偏好设置中心时,使用 View user API 根据 external_id 或您设置的自定义别名获取该用户的 OneSignal 数据。这将为您提供用户 propertiessubscriptions。有用的数据包括但不限于:
  • properties:用户数据
    • tags - 您发送到 OneSignal 的自定义数据
    • language - 用户的语言代码
  • subscriptions:消息渠道和订阅状态
    • id - 订阅 ID
    • type - EmailSMS、*Push(AndroidPushiOSPushChromePushSafariPush 等)
    • enabled - true 表示已订阅,false 表示已取消订阅
    • token - 根据订阅类型的推送令牌、邮箱地址或电话号码
{
  "properties": {
    "tags": {
      "finance": "1",
      "tech": "1",
      "sports": "1",
      "breaking-news": "0",
      "entertainment": "0",
      "deals": "0",
      "newsletter-frequency": "weekly",
      "customer_status": "Enterprise",
      "event": "1693411710",
      "first_name": "Jon",
      "last_name": "F"
    },
    "language": "en"
  },
  "subscriptions": [
    {
      "id": "sub_id_1",
      "type": "Email",
      "token": "email@example.com",
      "enabled": true
    },
    {
      "id": "sub_id_2",
      "type": "SMS",
      "token": "1234567890",
      "enabled": true
    },
    {
      "id": "sub_id_3",
      "type": "ChromePush",
      "token": "some_token_here",
      "enabled": true
    }
  ]
}
使用提供的数据按需填充偏好设置中心。

分配类别和频率控制

请参阅数据标签。标签是用于分段和个性化的键值对。使用字符串编码的整数或时间戳来启用基于范围的过滤。 用户可以切换兴趣(例如 sports: 1)或设置频率标签,如 newsletter-frequency: weekly。在分段或带有过滤器的 Create notification API 中使用此数据。 要更新标签,请调用 Update user API。

收集新的沟通渠道

检查 subscriptions 的类型和启用状态。仅对邮件/短信显示 token,不针对推送。
如果您系统中存在联系信息但 OneSignal 中尚未存在,请使用您自己的 数据库作为备用来显示。

邮件和短信更新

使用 addEmailaddSms SDK 方法或 Create subscriptionUpdate subscription API。更新需要订阅 id

推送更新

如果未启用推送,请提示用户。

禁用沟通渠道

使用 Update subscriptionenabled 设置为 false。切换到 true 可再次选择加入。

处理数据合规性

默认情况下禁止 SDK 初始化,并需要用户同意才能初始化。请参阅处理个人数据

删除用户数据

使用 Delete user API 完全从 OneSignal 中移除用户。
I