跳转到主要内容

概述

OneSignal + Google AlloyDB 集成可以自动将您的 AlloyDB 数据库中的自定义事件同步到 OneSignal 的自定义事件 API。这使您可以基于存储在数据库中的真实用户行为触发自动化旅程和个性化消息活动。 您可以同步购买、产品浏览、订阅变更或任何自定义用户操作等事件,自动触发入门序列、重新参与活动、交易消息以及跨推送通知、电子邮件、应用内消息和短信的定向促销。

要求

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

Google AlloyDB 要求

  • 带有 AlloyDB 实例的 Google Cloud Platform 账户
  • 按 Google Cloud 要求配置的 Auth Proxy
  • 创建用户和授予访问权限的数据库权限
  • 对 AlloyDB 实例的网络访问权限

设置

配置 AlloyDB 权限

OneSignal 需要从您的 AlloyDB 数据库中读取事件数据。我们建议创建一个专用的 ONESIGNAL 用户账户,对您的事件表具有只读访问权限。
1

创建 OneSignal 数据库用户

创建一个具有强密码和唯一密码的专用用户账户:
-- Create the OneSignal user
CREATE USER ONESIGNAL WITH PASSWORD '<strong, unique password>';
2

授予模式访问权限

授予 OneSignal 用户读取事件数据模式的权限:
-- Let the OneSignal user see your event schema
GRANT USAGE ON SCHEMA "<your_event_schema>" TO ONESIGNAL;

-- Let the OneSignal user read all existing tables in this schema
GRANT SELECT ON ALL TABLES IN SCHEMA "<your_event_schema>" TO ONESIGNAL;

-- Let the OneSignal user read any new tables added to this schema
ALTER DEFAULT PRIVILEGES IN SCHEMA "<your_event_schema>" GRANT SELECT ON TABLES TO ONESIGNAL;
<your_event_schema> 替换为包含事件表的实际模式名称。
3

授予函数权限(如需要)

如果您使用存储过程或函数处理事件数据:
-- Let the OneSignal user execute functions in this schema
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA "<your_event_schema>" TO ONESIGNAL;

-- Let the OneSignal user execute any new functions added to this schema
ALTER DEFAULT PRIVILEGES IN SCHEMA "<your_event_schema>" GRANT EXECUTE ON FUNCTIONS TO ONESIGNAL;

设置 Auth Proxy

1

配置 Auth Proxy

AlloyDB 需要 Auth Proxy 进行第三方连接。请按照 Google Auth Proxy 文档 进行设置。
Auth Proxy 是必需的 - OneSignal 无法在没有它的情况下直接连接到 AlloyDB。
2

记录连接详细信息

保存以下连接信息:
  • 主机:Auth Proxy 端点
  • 端口:Auth Proxy 端口(通常为 5432)
  • 数据库:您的 AlloyDB 数据库名称
  • 用户名ONESIGNAL(上面创建的)
  • 密码:您设置的密码

配置 OneSignal AlloyDB 连接

1

导航到集成

在 OneSignal 中,前往 数据 > 集成,然后点击 添加集成
2

选择 Google AlloyDB

从可用集成列表中选择 Google AlloyDB
3

输入连接详细信息

提供 AlloyDB 连接信息:
  • 主机:您的 Auth Proxy 端点
  • 端口:Auth Proxy 端口
  • 数据库:AlloyDB 数据库名称
  • 用户名ONESIGNAL
  • 密码:用户密码
  • SSL:已启用(推荐)
4

测试连接

点击测试连接以验证 OneSignal 可以访问您的 AlloyDB 实例。

事件数据映射

连接后,您需要将 AlloyDB 表列映射到 OneSignal 自定义事件字段:
1

选择事件表

选择包含要同步到 OneSignal 的事件数据的表。
2

映射必需的事件字段

映射自定义事件的必需字段:
  • 事件名称:包含事件类型的列(例如 “purchase”、“signup”)
  • 用户标识符:外部用户 ID、电子邮件或电话号码列
  • 事件时间戳:事件发生的时间(可选)
3

映射事件载荷数据

将其他列映射到事件载荷属性:
  • 自定义事件属性(product_id、价格、类别等)
  • 上下文数据(来源、活动等)
  • 行为指标(价值、数量等)
4

配置同步设置

设置事件处理频率和交付偏好。

事件数据映射

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

高级网络配置

IP 地址白名单

如果您的 AlloyDB 实例使用 IP 允许列表,请添加 OneSignal 的 IP 地址。您可以在 OneSignal 仪表板的数据 > 集成 > 网络访问下找到当前的 IP 范围。

SSH 隧道

OneSignal 支持通过 SSH 隧道连接到 AlloyDB 以提供额外的安全性:
1

创建 SSH 用户

在您的 SSH 主机服务器上为 OneSignal 创建专用用户账户。
2

配置 SSH 隧道

在 OneSignal AlloyDB 连接设置中,启用使用 SSH 隧道并提供:
  • SSH 主机
  • SSH 端口
  • SSH 用户名
3

添加 SSH 密钥

OneSignal 将生成一个 SSH 密钥对。将公钥复制到 SSH 主机上 OneSignal 用户的 authorized_keys 文件中。

限制

  • 性能:避免在高峰使用期间连接到生产数据库
  • 权限:OneSignal 需要对事件表的只读访问权限
  • Auth Proxy:所有 AlloyDB 连接都需要

常见问题

如果我的事件表结构发生变化会怎样?

OneSignal 将检测到模式更改,可能需要重新映射字段。在集成设置中更新您的字段映射。

OneSignal 同步事件的频率

OneSignal 根据您配置的同步频率检查新事件,最小间隔为 15 分钟。

需要帮助?

请通过 support@onesignal.com 联系我们的支持团队,或使用应用内聊天获取 AlloyDB 集成设置方面的帮助。
I