Descripción general
La integración de OneSignal + ClickHouse permite la sincronización automática de eventos personalizados desde su base de datos de análisis ClickHouse a OneSignal. Esto le permite activar Journeys automatizados y campañas de mensajería personalizadas basadas en datos de comportamiento del usuario almacenados en su base de datos columnar de alto rendimiento.Requisitos
- Acceso a flujos de eventos para eventos de mensajes salientes (Se aplican limitaciones del plan y sobrecargos)
- Acceso a eventos personalizados para sincronización de eventos entrantes (Se aplican limitaciones del plan y sobrecargos)
- Plan de cuenta actualizado (no disponible en aplicaciones gratuitas)
ClickHouse
- Servidor ClickHouse (autoalojado o en la nube)
- Credenciales de base de datos con acceso de lectura a las tablas de eventos
- Tablas de datos de eventos que contengan datos de comportamiento con el esquema adecuado
Configuración
Crear usuario de ClickHouse para OneSignal
Cree una cuenta de usuario dedicada para OneSignal con acceso de solo lectura a sus tablas de eventos:
Configurar el acceso a la red
Asegúrese de que OneSignal pueda conectarse a su instancia de ClickHouse:
- Autoalojado: Permita conexiones desde las direcciones IP de OneSignal
- ClickHouse Cloud: Agregue las IPs de OneSignal a su lista de permitidos
- Puerto: El puerto predeterminado de ClickHouse es 8123 (HTTP) o 9000 (nativo)
Agregar integración en OneSignal
En OneSignal, vaya a Datos > Integraciones y haga clic en Agregar integración.Seleccione ClickHouse y proporcione:
- Host: El nombre de host o IP de su servidor ClickHouse
- Port: Puerto de ClickHouse (predeterminado: 8123 para HTTP, 9000 para nativo)
- Database: Nombre de la base de datos que contiene las tablas de eventos
- Username:
onesignal_reader(o el nombre de usuario que eligió) - Password: Contraseña para el usuario de ClickHouse
- Protocol: HTTP o Native (se recomienda HTTP por simplicidad)
Configurar la fuente de datos de eventos
Especifique la tabla de ClickHouse que contiene sus datos de eventos:
- Table: Nombre de la tabla que contiene registros de eventos (por ejemplo,
user_events) - Event Query: Consulta SQL opcional para filtrar o transformar datos de eventos
- Nombre/tipo de evento (String)
- Identificador de usuario (String)
- Marca de tiempo del evento (DateTime)
- Propiedades adicionales del evento (JSON o columnas individuales)
Mapeo de datos de eventos
Mapee su de al formato de eventos personalizados de OneSignal:| Campo de OneSignal | Descripción | Requerido | |
|---|---|---|---|
name | event_name | Identificador de evento | Sí |
external_id | user_id | Identificador de usuario | Sí |
timestamp | event_timestamp | Cuándo ocurrió el evento | No |
properties | event_data | No |
Configuración avanzada
Consultas SQL personalizadas
Use SQL personalizado para filtrar o transformar datos de eventos antes de sincronizarlos con OneSignal:Optimización del rendimiento
ClickHouse está optimizado para consultas analíticas. Considere:- Particionamiento: Use particionamiento basado en fechas en la marca de tiempo del evento
- Indexación: Cree índices apropiados en user_id y event_name
- Vistas materializadas: Preagregue los datos de eventos para consultas más rápidas