跳转到主要内容
如果您是拥有基于主题内容的发布商或跟踪产品兴趣的电商网站,您可以根据用户与通知交互中的 自定义数据 来细分用户。 使用 OneSignal,您可以通过 数据标签 来实现这一点。通过在用户点击通知时标记他们——基于您在通知有效载荷中定义的元数据——您可以创建丰富的、行为驱动的细分。

1. 添加代码

使用 OneSignal SDK 的 通知事件处理程序 来检测通知何时被打开。在该处理程序中,从有效载荷中提取您的自定义数据,并使用 addTagaddTags 来存储它。 在此示例中,我们使用自定义数据中的 "notification_topic" 标记用户。您可以添加任何其他所需的字段——如类别、产品类型或活动。
OneSignal.setNotificationOpenedHandler(
  new OneSignal.OSNotificationOpenedHandler() {
    @Override
    public void notificationOpened(OSNotificationOpenedResult result) {
      JSONObject data = result.getNotification().getAdditionalData();
      Log.i("OneSignalExample", "Notification Data: " + data);

      if (data != null) {
        String topic = data.optString("notification_topic", null);
        if (topic != null)
          OneSignal.User.addTag("notification_topic", topic);

        // 如需要,从自定义数据中添加更多标签
        String category = data.optString("category", null);
        if (category != null)
          OneSignal.User.addTag("notification_category", category);
      }
    }
  }
);
```swift Swift
let notificationOpenedBlock: OSHandleNotificationActionBlock = { result in
let payload: OSNotificationPayload? = result?.notification.payload
let additionalData = payload?.additionalData

if let topic = additionalData?["notification_topic"] as? String {
  OneSignal.User.addTags(["notification_topic": topic])
}

if let category = additionalData?["category"] as? String {
  OneSignal.User.addTags(["notification_category": category])
}

// 如需要,从自定义数据中添加更多标签
}

2. 向您的通知添加自定义数据

创建通知时,您只需使用我们的仪表板或 API data 参数 向通知添加一些 附加数据 这将是通知的主题以及您用来细分用户的内容。常见主题包括“新闻”、“娱乐”、“政治”、“金融”、“科技”等。

在仪表板中添加通知主题数据

3. 基于标签进行细分

您现在可以根据用户点击的自定义数据值 创建细分 示例:点击了金融主题的用户
  • Key: notification_topic
  • Condition: equals
  • Value: finance

根据点击的主题细分用户

4. 发送带有自定义数据的通知

现在,每当用户点击通知时,他们将自动被标记为:
  1. 他们点击通知的日期(unix 时间戳)
  2. 通知的主题以及该主题被点击的总次数
您现在可以基于此数据 细分订阅者
I