Genel Bakış
OneSignal + Databricks entegrasyonu iki akışı destekler:- Dışa Aktarma: Analitik ve raporlama için OneSignal mesaj olaylarını Databricks’e gönderin.
- İçe Aktarma: Yolculukları tetiklemek ve kampanyaları kişiselleştirmek için Databricks’ten OneSignal’e özel olaylar gönderin.
Dışa aktarma ve içe aktarma ayrı ayrı yapılandırılır. Birini diğeri olmadan kurabilirsiniz.
OneSignal Mesaj Olaylarını Databricks’e Aktarma
Gerçek zamana yakın analitik ve görünürlük için OneSignal’den Databricks lakehouse’unuza tüm mesaj olaylarınızı senkronize edin. Gereksinimler- Profesyonel Plan veya üzeri
- Özel Olaylar etkinleştirilmiş (olay içe aktarmaları için)
- Databricks Platformu: AWS, Azure veya GCP
- Databricks Planı: Premium veya üzeri
- Databricks Unity Catalog (yönetişim için önerilir)
- Sorgulama için Databricks SQL Warehouse
- Delta Lake olay tabloları (özel olay içe aktarma için)
1. SQL Warehouse Detaylarını Toplayın
Databricks çalışma alanınızda oturum açın
Databricks çalışma alanınızda SQL Warehouses bölümüne gidin.
2. Bir Service Principal Oluşturun
Service Principals sayfasına gidin
Workspace Settings > Identity and Access > Service Principals yolunu izleyin.
3. Bir Secret Oluşturun
4. İzinleri Atayın
5. OneSignal’i Bağlayın
Detayları girin
- Server Hostname
- Port
- HTTP Path
- Catalog Name
- Schema Name
- Service Principal kimlik bilgileri (ID + Secret)

Entegrasyonu yapılandırın
- Sync Frequency: her 15 dakikada bir kadar sık
- Dataset/Table Names:
onesignal_events_<app-id>vemessage_eventsolarak önceden ayarlanmıştır (düzenlenebilir) - Event Types: hangi olayların senkronize edileceğini seçin—tümünü veya yalnızca ihtiyacınız olanları seçin
İlk veri senkronizasyonunun BigQuery’de görünmesi 15-30 dakika sürebilir.Beklerken, seçilen olayları tetiklemek için push, e-posta, uygulama içi veya SMS yoluyla mesajlar gönderin.
6. Databricks’te Verileri Görüntüleyin
- Databricks’te Catalog’unuzu açın.
- Senkronizasyon tamamlandığında, yapılandırılmış şemanız görünecektir.
-
message_eventstablosuna erişin ve sorgulayın.
-
Örnek veri önizlemesi için tablolara tıklayın.

Eksik şemalar, izin hataları veya hatalı biçimlendirilmiş olaylar gibi sorunlarla karşılaşırsanız,
support@onesignal.com ile iletişime geçin.Mesaj etkinlikleri ve özellikleri
Mesaj etkinlik türleri
Özellik:event_kind
Tür: String
Mesaj ve etkinlik türü (örneğin message.push.received, message.push.sent).
| Mesaj Etkinliği (OneSignal) | event_kind | Açıklama |
|---|---|---|
| Push Gönderildi | message.push.sent | Push bildirimi başarıyla gönderildi. |
| Push Alındı | message.push.received | Teslim edilmiş push (bkz. Onaylanmış Teslimat). |
| Push Tıklandı | message.push.clicked | Kullanıcı push’u tıkladı. |
| Push Başarısız | message.push.failed | Teslimat hatası. Mesaj raporlarına bakın. |
| Push Abonelik İptal Edildi | message.push.unsubscribed | Kullanıcı push aboneliğini iptal etti. |
| Uygulama İçi Gösterim | message.iam.impression | Uygulama içi mesaj gösterildi. |
| Uygulama İçi Tıklandı | message.iam.clicked | Uygulama içi mesaj tıklandı. |
| Uygulama İçi Sayfa Görüntülendi | message.iam.page_displayed | Uygulama içi sayfa gösterildi. |
| E-posta Gönderildi | message.email.sent | E-posta teslim edildi. |
| E-posta Alındı | message.email.received | E-posta alıcının posta sunucusu tarafından kabul edildi. |
| E-posta Açıldı | message.email.opened | E-posta açıldı. Bkz. E-posta Raporları. |
| E-posta Bağlantısı Tıklandı | message.email.clicked | E-postadaki bağlantı tıklandı. |
| E-posta Abonelik İptal Edildi | message.email.unsubscribed | Alıcı aboneliğini iptal etti. |
| E-posta Spam Olarak Raporlandı | message.email.reported_as_spam | Spam olarak işaretlendi. Bkz. E-posta Teslim Edilebilirliği. |
| E-posta Geri Döndü | message.email.bounced | Kalıcı teslimat hatası nedeniyle geri döndü. |
| E-posta Başarısız | message.email.failed | Teslimat başarısız oldu. |
| E-posta Bastırıldı | message.email.suppressed | Bastırma listesi nedeniyle bastırıldı. |
| SMS Gönderildi | message.sms.sent | SMS gönderildi. |
| SMS Teslim Edildi | message.sms.delivered | SMS başarıyla teslim edildi. |
| SMS Başarısız | message.sms.failed | SMS teslim edilemedi. |
| SMS Teslim Edilemedi | message.sms.undelivered | SMS reddedildi veya ulaşılamıyor. |
Etkinlik veri şeması
Bir kullanıcı tarafından oluşturulan her mesaj etkinliği için, aşağıdaki meta veriler kayda eklenecektir.| Sütun Adı | Tür | Açıklama |
|---|---|---|
event_id | UUID | Etkinlik için benzersiz tanımlayıcı |
event_timestamp | Timestamp | Etkinlik gerçekleşme zamanı |
event_kind | String | Etkinlik Türü |
subscription_device_type | String | Cihaz türü (örneğin, iOS, Android, Web, E-posta, SMS) |
language | String | Abonelik dil kodu |
version | String | Entegrasyon sürümü |
device_os | String | Cihaz işletim sistemi sürümü |
device_type | Number | Sayısal cihaz türü |
token | String | Push token, telefon numarası veya e-posta |
subscription_id | UUID | Abonelik ID’si |
subscribed | Boolean | Abonelik durumu |
onesignal_id | UUID | OneSignal kullanıcı ID’si |
last_active | String | Son aktif zaman damgası |
sdk | String | OneSignal SDK sürümü |
external_id | String | Entegrasyon kullanıcı ID’si ile eşleşmesi gereken harici kullanıcı ID’si |
app_id | UUID | OneSignal’dan uygulama ID’si |
template_id | UUID | Şablon ID’si (varsa) |
message_id | UUID | Mesaj grubu/istek ID’si |
message_name | String | Mesajın adı |
message_title | String | Mesaj başlığı (yalnızca İngilizce) |
message_contents | String | Kısaltılmış mesaj gövdesi (yalnızca İngilizce) |
failure_reason | String | Başarısızlık nedeni (push başarısızlık ve email başarısızlık olayları için) |
_created, _id, _index, _fivetran_synced | Dahili kullanım | Fivetran senkronizasyon meta verileri |
Notlar
- Kaydetme/etkinleştirme sonrası senkronizasyonlar tamamlanması için ek 15-30 dakika alabilir.
- Devre dışı bırakma, devre dışı bırakıldıktan sonra hala bir son senkronizasyonla sonuçlanabilir.
- Verimli veri senkronizasyonunu sağlamak için sistemimiz otomatik olarak hazırlama veri kümelerini oluşturur ve yönetir.
fivetran_{iki rastgele kelime}_staginggibi bir desenle adlandırılan bu veri kümeleri, ana şemanıza entegre edilmeden önce işleme sırasında geçici olarak veri depolar. Bu hazırlama veri kümeleri akıcı bir iş akışını sürdürmek için gereklidir ve otomatik olarak yeniden oluşturulacakları için silinmemelidir.
Databricks’ten Olayları İçe Aktarma
Aşağıdakiler için Databricks’ten OneSignal’e davranışsal olay verilerini gönderin:- Kullanıcı etkinliğine dayalı Yolculukları tetikleyin
- Davranışsal verilere dayalı mesajlaşmayı kişiselleştirin
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
- SQL Warehouse veya compute cluster ile Databricks workspace
- Uygun izinlere sahip Personal Access Token
- Delta Lake formatında davranışsal veriler içeren Olay veri tabloları
- Unity Catalog (veri yönetişimi için önerilir)
Databricks Personal Access Token Oluşturun
OneSignal’in Databricks çalışma alanınıza erişmesi için bir Personal Access Token oluşturun:
- Databricks çalışma alanınızda User Settings’e gidin
- Developer sekmesine ve ardından Access tokens’a tıklayın
- Generate new token’a tıklayın
- “OneSignal Integration” gibi bir yorum girin ve son kullanma tarihi belirleyin (90 gün önerilir)
- Oluşturulan token’ı kaydedin (OneSignal için buna ihtiyacınız olacak)
SQL Warehouse erişimini yapılandırın
OneSignal’in SQL Warehouse aracılığıyla olay verilerinizi sorgulayabildiğinden emin olun:
- Databricks çalışma alanınızda SQL Warehouses’a gidin
- OneSignal erişimi için bir SQL Warehouse seçin veya oluşturun
- Bağlantı detaylarından Server Hostname ve HTTP Path’i not edin
- Warehouse’un olay veri tablolarınıza erişimi olduğundan emin olun
OneSignal'de entegrasyonu ekleyin
In OneSignal, go to Data > Integrations and click Add Integration.Databricks’i seçin ve şunları sağlayın:
- Server Hostname: Databricks SQL Warehouse hostname’iniz
- HTTP Path: SQL Warehouse HTTP path’i
- Personal Access Token: 1. adımda oluşturulan token
- Catalog (isteğe bağlı): Unity Catalog kullanıyorsanız Unity Catalog adı
Olay veri kaynağını yapılandırın
Olay verilerinizi içeren Databricks tablosunu belirtin:
- Database/Schema: Olay tablolarını içeren veritabanı veya şema adı
- Table: Olay kayıtlarını içeren tablo adı (örneğin,
user_events) - Event Query: Olay verilerini filtrelemek veya dönüştürmek için isteğe bağlı SQL sorgusu
- Olay adı/türü (String)
- Kullanıcı tanımlayıcısı (String)
- Olay zaman damgası (Timestamp)
- Ek olay özellikleri
Event data mapping
Map your to OneSignal’s custom events format:| OneSignal Field | Description | Required | |
|---|---|---|---|
name | event_name | Event identifier | Yes |
external_id | user_id | User identifier | Yes |
timestamp | event_timestamp | When event occurred | No |
properties | event_data | No |
Gelişmiş Yapılandırma
Unity Catalog Entegrasyonu
Yönetilen veri erişimi için Unity Catalog’dan yararlanın:Delta Lake Optimizasyonu
Daha iyi sorgu performansı için olay tablolarını optimize edin:- Partitioning: Daha hızlı zamana dayalı sorgular için tarihe göre bölümlendirin (
event_date) - Z-Ordering: Daha iyi filtreleme için
user_idveevent_name’e göre Z-order uygulayın - Delta Lake Features: Otomatik optimizasyon için liquid clustering kullanın
Streaming Event Processing
Gerçek zamanlı olay işleme için şunları göz önünde bulundurun:- Structured Streaming: Olayları geldikçe işleyin
- Delta Live Tables: Sağlam olay işleme hattları oluşturun
- Auto Loader: Yeni olay dosyalarını sürekli olarak alın




