Skip to main content

概览

OneSignal + Materialize 集成可以自动将您的 Materialize 流式数据库中的自定义事件同步到 OneSignal,以基于实时用户行为触发自动化消息活动和 Journey。 Materialize 是一个与 PostgreSQL 兼容的流式数据库,维护您数据的增量更新视图,实现实时分析和事件处理。

要求

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

Materialize 要求

  • 具有控制台访问权限的 Materialize 账户
  • 用于外部工具身份验证的 应用程序密码
  • 包含事件数据的 物化视图 或表
  • 您的 Materialize 数据库中可访问的 事件数据

设置

1

获取 Materialize 连接详细信息

登录 Materialize 控制台并导航到连接页面查找您的连接详情。
2

创建应用密码

在 Materialize 控制台中,为 OneSignal 创建一个新的应用密码用于身份验证。
3

连接到 OneSignal

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成选择 Materialize 并提供:
  • 主机: 您的 Materialize 主机名(在 Materialize 控制台连接页面的外部工具下找到)
  • 用户名: 您的电子邮件地址(用于登录 Materialize)
  • 密码: 在步骤 2 中创建的应用密码
  • 数据库: 数据库名称(可选,默认为 materialize
4

测试连接

点击测试验证连接是否正常工作。

事件数据映射

将您的 映射到 OneSignal 的自定义事件格式:

实时事件视图示例


处理模式

物化视图(推荐)

通过从随着新数据到达而自动更新的物化视图同步,利用 Materialize 的实时处理功能:

SQL 查询模式

编写自定义的 PostgreSQL 兼容查询来转换您的事件数据:

实时流处理


限制

  • Materialize 仅支持基本同步引擎
  • 实时查询可能消耗更多计算资源
  • 大型数据集的复杂连接应该被优化
  • 物化视图需要持续的集群资源

常见问题

如何优化 Materialize 中的实时性能?

在经常查询的列上使用索引,并考虑按时间范围对大型事件数据集进行分区以获得更好的性能。

我可以同时从表和物化视图同步数据吗?

是的,OneSignal 可以从 Materialize 中的静态表和实时物化视图中读取数据。

实时同步是如何工作的?

Materialize 维护增量更新的视图,因此 OneSignal 将始终读取您数据的最新状态,而无需额外的处理开销。