跳转到主要内容

概述

OneSignal + SingleStore 集成可将自定义事件从您的 SingleStore 数据库同步到 OneSignal,以基于用户行为触发自动化消息活动和 Journeys。 SingleStore 是为实时分析和高性能应用程序设计的分布式 SQL 数据库。

要求

  • 访问自定义事件(目前处于测试阶段)
  • 升级账户计划(免费应用不可用)。

SingleStore

  • SingleStoreDB CloudSingleStoreDB v7.1+
  • 具有适当权限的数据库用户
  • 包含结构化行为数据的事件表
  • 从 OneSignal 到您的 SingleStore 集群的网络连接

设置

1

为 OneSignal 创建专用用户

创建一个具有强密码的专用用户帐户:
-- 创建具有密码登录能力的 census 用户
CREATE USER CENSUS IDENTIFIED BY '<strong-unique-password>';
2

授予事件数据权限

为包含事件数据的模式提供只读访问权限:
-- 授予对包含事件数据的模式的只读访问权限
GRANT SELECT ON analytics.* TO CENSUS;

-- 如果需要,为其他模式重复此操作
GRANT SELECT ON events.* TO CENSUS;
如果您有多个包含事件数据的模式,请为每个模式重复 GRANT SELECT 语句。
3

连接到 OneSignal

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成选择 SingleStore 并提供以下连接详细信息:
  • 主机: 您的 SingleStore 集群端点
  • 端口: 3306(默认)
  • 数据库: 您的数据库名称
  • 用户名: CENSUS
  • 密码: 步骤 1 中的密码

事件数据映射

将您的 映射到 OneSignal 的自定义事件格式:
OneSignal 字段描述必需
nameevent_name事件标识符
external_iduser_id用户标识符
timestampevent_timestamp事件发生时间
propertiesevent_data

事件表模式示例

-- SingleStore 事件表示例
CREATE TABLE analytics.user_events (
    event_id BIGINT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT NULL,
    user_id VARCHAR(255) NOT NULL,
    event_timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    event_data JSON,
    session_id VARCHAR(255),
    device_type VARCHAR(50)
);

SQL 查询模式

编写自定义 SQL 查询来转换您的事件数据:
-- 示例:最近的高价值事件
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_data
FROM analytics.user_events
WHERE event_timestamp >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    AND JSON_EXTRACT_STRING(event_data, 'value') > '100'
ORDER BY event_timestamp DESC;

高级网络配置

OneSignal 可以成功连接到使用高级网络控制(包括地区限制和 IP 地址允许列表)的 SingleStore 实例。 有关配置网络访问的更多信息,请联系您的 SingleStore 管理员或 OneSignal 支持。

限制

  • 实时分析查询可能会在高流量时期影响集群性能
  • JSON 操作应该针对分布式执行进行优化

常见问题解答

我可以连接到多个 SingleStore 模式吗?

是的,您可以通过为每个包含事件数据的模式运行 GRANT SELECT 语句来授予 CENSUS 用户访问多个模式的权限。

OneSignal 是否支持 SingleStore Cloud?

是的,OneSignal 支持 SingleStoreDB Cloud 和本地 SingleStoreDB v7.1+ 安装。
I