OneSignal’in eski entegrasyonu ile Snowflake kullanıyorsanız, lütfen Snowflake Eski Entegrasyon kılavuzuna bakın.

OneSignal Snowflake entegrasyon genel bakışı
Genel Bakış
OneSignal + Snowflake entegrasyonu iki güçlü veri işlem hattını destekler:- Dışa Aktarma: 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.
- İçe Aktarma: Otomatik Journey’leri ve kişiselleştirilmiş mesajlaşmayı tetiklemek için Snowflake veri kümelerinizden OneSignal’e özel kullanıcı etkinliklerini senkronize edin.
OneSignal etkinliklerini Snowflake’e aktarma
Aşağıdakiler için mesajlaşma performansı ve etkileşim etkinliklerini (örneğin, gönderimler, açılmalar, tıklamalar) Snowflake’e gönderin:- Ö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

Snowflake hesap tanımlayıcı konumu
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:1
Ö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.
2
Genel anahtarı oluşturun
Özel anahtarınızdan genel anahtarı oluşturun:
3
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
1
Entegrasyonu etkinleştirin
OneSignal’de Data > Integrations > Snowflake bölümüne gidin.
2
Detayları girin
- Host:
<your_account>.snowflakecomputing.com - Database: örneğin,
ONESIGNAL - Schema
- Table: örneğin,
message_events - User:
ONESIGNAL_USER(veya oluşturduğunuz kullanıcı adı) - Private Key: Özel anahtar dosyanızın içeriğini yapıştırın (
rsa_key.p8) - Private Key Passphrase (isteğe bağlı, yalnızca özel anahtarınız şifrelenmiş ise)
3
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
4
Etkinlikleri seçin
Snowflake warehouse’unuzda almak istediğiniz etkinlikleri seçin.
5
Kurulumu tamamlayın
Save düğmesine tıklayın ve başarı onayını bekleyin
İ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,
[email protected] 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.displayed | 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.pagedisplayed | 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 İşaretlendi | message.email.resporedasspam | Spam olarak işaretlendi. Bkz. E-posta Teslim Edilebilirliği. |
| E-posta Geri Döndü | message.email.hardbounced | 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.supressed | 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) |
_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.
Snowflake’ten etkinlikleri içe aktarma
Aşağıdakiler için Snowflake’ten OneSignal’e davranışsal etkinlik verileri gönderin:- 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
1
OneSignal için özel rol oluşturun
Snowflake en iyi uygulamalarını izleyerek bir rol hiyerarşisi oluşturun:
2
Özel warehouse oluşturun
OneSignal işlemleri için maliyet optimize edilmiş bir warehouse oluşturun:
3
Kullanıcı oluşturun ve izinleri verin
OneSignal kullanıcısını oluşturun ve etkinlik verilerinize erişim verin:
4
Defter tutma veritabanı oluşturun (Advanced Sync Engine)
OneSignal’in senkronizasyon durumu yönetimi için özel bir veritabanı oluşturun:
5
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
6
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