Ana içeriğe atla

Genel bakış

OneSignal + MotherDuck entegrasyonu, kullanıcı davranışına dayalı otomatik mesajlaşma kampanyalarını ve Journey’leri tetiklemek için MotherDuck veritabanlarınızdan OneSignal’e özel olayların otomatik senkronizasyonunu sağlar. MotherDuck, SQL basitliği ile hızlı OLAP (Çevrimiçi Analitik İşleme) yetenekleri sağlayan bir bulutta-DuckDB hizmetidir.

Gereksinimler

MotherDuck

  • Veritabanı erişimi olan MotherDuck hesabı
  • Kimlik doğrulama için Service token
  • Olay verileri içeren Veritabanı
  • Yapılandırılmış olay bilgileri içeren Tablolar veya görünümler

Kurulum

1

Create MotherDuck service token

OneSignal’in MotherDuck’a bağlanması için bir erişim token’ı oluşturun:
  1. app.motherduck.com adresindeki MotherDuck Web UI’sına giriş yapın
  2. Sol üst köşedeki profilinize tıklayın
  3. Settings > General > Access Tokens’a gidin
  4. Create Token’a tıklayın
  5. Son kullanma tarihini ayarlayın (veya sınırsız bırakın)
  6. Oluşturulan service token’ı kopyalayın
2

Prepare your event data

MotherDuck veritabanınızın düzgün yapılandırılmış olay tabloları içerdiğinden emin olun:
-- Örnek olay tablosu yapısı
CREATE TABLE user_events (
    event_name VARCHAR,
    user_id VARCHAR,
    event_timestamp TIMESTAMP,
    event_properties JSON,
    session_id VARCHAR
);
3

Connect to OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.MotherDuck’ı seçin ve şunları sağlayın:
  • Service Token: Adım 1’den token
  • Database Name: MotherDuck veritabanı adınız
  • Connection String: md:your_database_name
4

Configure data sync

Hangi olay verilerini senkronize edeceğinizi tanımlamak için tabloları seçin veya özel SQL sorguları yazın:
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_properties
FROM user_events
WHERE event_timestamp >= CURRENT_DATE - INTERVAL 7 DAYS

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Example Event Query

-- Optimized event query for OneSignal sync
SELECT
    event_name,
    user_id,
    event_timestamp,
    {
        'source': 'motherduck',
        'session_id': session_id,
        'device_type': device_type,
        'value': event_value
    }::JSON as event_properties
FROM analytics.user_events
WHERE event_timestamp >= CURRENT_TIMESTAMP - INTERVAL 1 DAY
ORDER BY event_timestamp DESC

İşleme Modları

Tablo Modu

Tüm tabloları doğrudan MotherDuck veritabanınızdan senkronize edin. OneSignal, sütunları otomatik olarak olay alanlarına eşleyecektir.

SQL Sorgu Modu

Olay verilerinizi dönüştürmek ve filtrelemek için özel DuckDB SQL sorguları yazın:
-- Gelişmiş olay toplama
SELECT
    'daily_summary' as event_name,
    user_id,
    DATE_TRUNC('day', event_timestamp) as event_timestamp,
    {
        'total_events': COUNT(*),
        'unique_sessions': COUNT(DISTINCT session_id),
        'last_activity': MAX(event_timestamp)
    }::JSON as event_properties
FROM user_events
WHERE event_timestamp >= CURRENT_DATE - INTERVAL 7 DAYS
GROUP BY user_id, DATE_TRUNC('day', event_timestamp)

Sınırlamalar

  • Sorgu karmaşıklığı senkronizasyon performansını etkiler
  • Büyük sonuç kümeleri senkronizasyon hızını etkileyebilir
  • JSON ayrıştırma, uygun sütun tipi gerektir

SSS

MotherDuck’ta sorgu performansını nasıl optimize ederim?

Yalnızca gerekli sütunları seçerek ve sorguların başında filtreleri uygulayarak DuckDB’nin sütunsal depolama avantajlarını kullanın.

Birden fazla MotherDuck veritabanından senkronize edebilir miyim?

Evet, hesabınızdaki her MotherDuck veritabanı için ayrı entegrasyonlar oluşturabilirsiniz.