OneSignal’in eski entegrasyonu ile Snowflake kullanıyorsanız, lütfen Snowflake Eski Entegrasyon kılavuzuna bakın. Geçiş adımları için Eski sürümden geçiş bölümüne bakın.
Genel Bakış
OneSignal + Snowflake entegrasyonu iki güçlü veri işlem hattını destekler:- Çıkış: Analiz ve raporlama için OneSignal’den Snowflake’e mesajlaşma etkinliği verilerini (push, e-posta, SMS, uygulama içi) otomatik olarak gönderin.
- Giriş: Otomatik Journey’leri ve kişiselleştirilmiş mesajlaşmayı tetiklemek için Snowflake veri kümelerinizden OneSignal’e özel kullanıcı etkinliklerini senkronize edin.
Çıkış kurulumu
Bu şu anda erken erişim aşamasındadır.
Erişim talep etmek için aşağıdaki bilgilerle
support@onesignal.com’a başvurun:- Şirket adınız
- OneSignal organizasyon ID’niz
- Etkinleştirmek istediğiniz uygulama ID’leri
- Özel panolar ve raporlar oluşturma
- Kanallar arasında teslimat ve etkileşim eğilimlerini takip etme
- Analiz için OneSignal verilerini diğer iş verileriyle birleştirme
- OneSignal Professional Planı (ücretsiz uygulamalarda mevcut değildir)
- Snowflake hesabı
- Snowflake’te SECURITYADMIN veya ACCOUNTADMIN rolü (kurulum için)
1. Snowflake hesap bilgilerinizi toplayın
Entegrasyonu yapılandırmadan önce, Snowflake hesabınızdan aşağıdaki bilgileri toplayın:- Snowflake Host:
<account_identifier>.snowflakecomputing.comformatındaki hesap URL’niz - Veritabanı adı: OneSignal’in etkinlik verilerini yazacağı veritabanı
- Şema adı: OneSignal tabloları için veritabanı içindeki şema (bu OneSignal tarafından otomatik olarak oluşturulacaktır)
- Warehouse adı: Veri yükleme işlemleri için kullanılacak warehouse

2. Snowflake’te kurulum betiğini çalıştırın
OneSignal için gerekli rolü, kullanıcıyı, warehouse’u ve veritabanını oluşturmak için Snowflake warehouse’unuzda aşağıdaki SQL betiğini çalıştırın:Adlandırma kurallarınıza uyacak şekilde betiğin üstündeki değişken değerlerini özelleştirebilirsiniz. Mevcut bir warehouse veya veritabanı kullanıyorsanız, betiği buna göre değiştirin.
3. Kimlik doğrulama için anahtar çifti oluşturun
OneSignal, Snowflake hesabınıza güvenli erişim için anahtar çifti kimlik doğrulaması gerektirir. Anahtarları oluşturmak ve yapılandırmak için şu adımları izleyin:Özel anahtar oluşturun
Özel anahtar oluşturmak için aşağıdaki komutlardan birini çalıştırın:Şifrelenmemiş özel anahtar (daha basit ancak daha az güvenli):Şifrelenmiş özel anahtar (üretim için önerilir):Şifrelenmiş anahtar kullanıyorsanız, bir parola oluşturmanız istenecektir. Bu parolayı güvenli bir şekilde saklayın—OneSignal’i yapılandırırken ihtiyacınız olacak.
Genel anahtarı Snowflake kullanıcınıza atayın
Genel anahtar dosyasının içeriğini kopyalayın (başlık ve alt bilgi satırlarını hariç tutarak), ardından Snowflake’te şu SQL komutunu çalıştırın:
<YOUR_PUBLIC_KEY_CONTENT> yerine anahtar içeriğini yazın (-----BEGIN PUBLIC KEY----- ve -----END PUBLIC KEY----- satırları olmadan).4. OneSignal’i bağlayın
Detayları girin
- Host:
<your_account>.snowflakecomputing.com - Port: İsteğe bağlı, varsayılan olarak
443 - Database: örneğin,
ONESIGNAL - Role: İsteğe bağlı, belirtilmezse kullanıcının varsayılan rolü kullanılır
- User: örneğin,
ONESIGNAL_USER - Private Key: Özel anahtar dosyanızın içeriğini yapıştırın (
rsa_key.p8) - Private Key Passphrase: İsteğe bağlı, yalnızca özel anahtarınız şifrelenmiş ise
- Data processing location: Snowflake’e göndermeden önce verilerin işlendiği konum
Entegrasyonu yapılandırın
- Sync Frequency: her 15 dakikada bir kadar sık
- Schema/Table Names:
onesignal_events_<app-id>vemessage_eventsolarak önceden ayarlanmış (düzenlenebilir) - Event Types: hangi etkinlikleri senkronize edeceğinizi seçin—tümünü veya yalnızca ihtiyacınız olanları seçin
İlk veri senkronizasyonunun Snowflake’te görünmesi 15-30 dakika sürebilir.Beklerken, seçilen etkinlikleri tetiklemek için push, e-posta, uygulama içi veya SMS yoluyla mesajlar gönderin.
5. Snowflake’te verileri görüntüleyin
İlk senkronizasyon tamamlandıktan sonra, OneSignal etkinlik verilerinizi sorgulayın:Eksik şemalar, izin hataları veya hatalı biçimlendirilmiş etkinlikler 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.
Eski sürümden geçiş
Şu anda eski Snowflake entegrasyonunu kullanıyorsanız, bu bölüm temel farklılıkları ve sorgularınızı nasıl geçireceğinizi kapsar.Temel farklılıklar
| Özellik | Eski | Yeni |
|---|---|---|
| Senkronizasyon sıklığı | 24 saat | 15 dakikada bir kadar sık |
| Veri sahipliği | Paylaşılan verilere salt okunur erişim | Doğrudan Snowflake hesabınıza yazılır |
| Veri tutma | 30 gün | Tutmayı siz kontrol edersiniz |
| Etkinlik seçimi | Tüm etkinlikler | Belirli etkinlik türlerini seçin |
Şema değişiklikleri
Yeni entegrasyon sütunları isteğe bağlı olarak oluşturur. Belirli bir alan için hiçbir etkinlik veri içermiyorsa, o sütun tablonuzda bulunmaz. Bu alan için veri görünürse, sütun otomatik olarak oluşturulur.Sütun yeniden adlandırmaları
| Eski sütun | Yeni sütun |
|---|---|
EVENT_IMPRESSION_TIMESTAMP | EVENT_TIMESTAMP |
SUBSCRIPTION_LANGUAGE | LANGUAGE |
MESSAGE_BODY | MESSAGE_CONTENTS |
Tip çıkarımı
Yeni entegrasyon otomatik tip çıkarımı kullanır. Bir sütundaki tüm değerler sayısal ise (örneğin, tümEXTERNAL_ID değerleriniz sayı), sütun NUMBER olarak tiplenebilir. Daha sonra sayısal olmayan bir değer görünürse, sütun tipi VARCHAR’a yükseltilir.
Gerekirse açık dönüştürme kullanın:
Sorguları geçirme
Mevcut sorguları geçirmek için:- Eski veritabanına yapılan referansları yeni Snowflake veritabanınızı işaret edecek şekilde güncelleyin
- Yukarıda listelenen sütun yeniden adlandırmalarını hesaba katın
- Gerektiğinde açık tip dönüştürme ekleyin
ONESIGNAL_DB.ONESIGNAL_EVENTS_XXXXX.MESSAGE_EVENTS yerine gerçek veritabanı, şema ve tablo adlarınızı yazın.Giriş kurulumu
Aşağıdakiler için Snowflake’ten OneSignal’e davranışsal etkinlik verileri alın:- Kullanıcı etkinliğine dayalı Journey’leri tetikleme
- Davranışsal verilere dayalı mesajlaşmayı kişiselleştirme
- Giden mesaj etkinlikleri için Event Streams’e erişim (Plan kısıtlamaları ve aşımlar geçerlidir)
- Gelen etkinlik senkronizasyonu için Custom Events’e erişim (Plan kısıtlamaları ve aşımlar geçerlidir)
- Güncellenmiş Hesap Planı (ücretsiz uygulamalarda mevcut değildir)
- Warehouse erişimi olan Snowflake hesabı
- Snowflake tablolarında veya görünümlerinde depolanan Etkinlik verileri
- OneSignal’den Snowflake örneğinize Ağ bağlantısı
- Uygun izinlere sahip Kullanıcı kimlik bilgileri
OneSignal için özel rol oluşturun
Snowflake en iyi uygulamalarını izleyerek bir rol hiyerarşisi oluşturun:
Kullanıcı oluşturun ve izinleri verin
OneSignal kullanıcısını oluşturun ve etkinlik verilerinize erişim verin:
Defter tutma veritabanı oluşturun (Advanced Sync Engine)
OneSignal’in senkronizasyon durumu yönetimi için özel bir veritabanı oluşturun:
Kimlik doğrulamayı yapılandırın
Gelişmiş güvenlik için anahtar çifti kimlik doğrulaması (önerilir) kurun:
- Snowflake’in belgelerini takip ederek genel/özel anahtar çifti oluşturun
- Snowflake kullanıcınızda genel anahtarı yapılandırın
- OneSignal’in bağlantı ayarlarında özel anahtarı kullanın
OneSignal'e bağlanın
OneSignal’da, Veri > Entegrasyonlar’a gidin ve Entegrasyon Ekle’ye tıklayın.Snowflake’i seçin ve aşağıdaki bağlantı detaylarını sağlayın:
- Account Name: Snowflake hesap tanımlayıcınız (örneğin,
abc123.us-east-1) - Warehouse:
CENSUS_WAREHOUSE - User:
CENSUS - Database: Etkinlik verisi veritabanı adınız
- Schema: Etkinlik verisi şema adınız
- Authentication: Key-pair (özel anahtar ve isteğe bağlı parola sağlayın)
Etkinlik veri eşleştirme
verilerinizi OneSignal’ın özel etkinlik formatına eşleştirin:| OneSignal Alanı | Açıklama | Gerekli | |
|---|---|---|---|
name | event_name | Etkinlik tanımlayıcı | Evet |
external_id | user_id | Kullanıcı tanımlayıcı | Evet |
timestamp | event_timestamp | Etkinliğin gerçekleştiği zaman | Hayır |
properties | event_data | Hayır |
Örnek Etkinlik Tablosu Şeması
SQL Sorgu Modu
Etkinlik verilerinizi dönüştürmek için özel SQL sorguları yazın:Gelişmiş yapılandırma
Warehouse Maliyetlerini Yönetme
- Maliyet optimizasyonu için X-Small warehouse boyutu kullanın
- Otomatik askıya alma (60 saniye) ve otomatik devam ettirmeyi yapılandırın
- Yoğun olmayan saatlerde senkronizasyonları planlayın
- Warehouse’u diğer toplu işleme sistemleriyle paylaşmayı düşünün
Canlı Senkronizasyon Desteği
Gerçek zamanlı etkinlik işleme için etkinlik tablolarınızda değişiklik takibini etkinleştirin:Ağ Güvenliği
Snowflake’in İzin Verilen IP’ler ağ politikasını kullanıyorsanız, OneSignal’in IP adreslerini izin verilenler listesine ekleyin. Mevcut IP aralıkları için OneSignal desteğiyle iletişime geçin.Sınırlamalar
- Karmaşık analitik sorgular warehouse performansını ve maliyetlerini etkileyebilir
- Kullanıcı/Parola kimlik doğrulaması Kasım 2025’te kullanımdan kaldırılacak
- CENSUS veritabanı yalnızca OneSignal işlemleri için ayrılmıştır
SSS
Hangi kimlik doğrulama yöntemini kullanmalıyım?
Anahtar çifti kimlik doğrulaması kullanın (önerilir). Kullanıcı/Parola kimlik doğrulaması Kasım 2025’ten itibaren Snowflake tarafından engellenecektir.Mevcut bir warehouse kullanabilir miyim?
Evet, maliyetleri optimize etmek için dbt veya Fivetran gibi diğer toplu işleme sistemleriyle bir warehouse paylaşabilirsiniz. Warehouse’un etkinlik işleme ihtiyaçlarınız için yeterli kapasiteye sahip olduğundan emin olun.Maliyetleri nasıl optimize edebilirim?
- X-Small warehouse boyutu kullanın
- Agresif otomatik askıya alma (60 saniye) yapılandırın
- Yoğun olmayan saatlerde senkronizasyonları planlayın
- Sürekli senkronizasyon yerine saatlik/günlük senkronizasyonlar kullanın