Ana içeriğe atla

Genel Bakış

OneSignal + Elasticsearch entegrasyonu, Elasticsearch kümenizden OneSignal’a özel etkinliklerin otomatik senkronizasyonunu sağlar. Bu, arama ve analitik motorunuzda saklanan kullanıcı davranış verilerine dayalı olarak otomatik Journey’ler ve kişiselleştirilmiş mesajlaşma kampanyaları tetiklemenize olanak tanır.

Gereksinimler

  • 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)

Elasticsearch

  • Elasticsearch kümesi (sürüm 7.0 veya üstü önerilir)
  • Kimlik doğrulama bilgileri (API anahtarı, kullanıcı adı/şifre veya sertifika)
  • Etkinlik indeksleri uygun belge yapısıyla davranışsal veri içerir
  • OneSignal’dan Elasticsearch kümenize ağ erişimi

Kurulum

1

Elasticsearch erişimini yapılandırın

OneSignal’ın Elasticsearch kümenize bağlanabildiğinden emin olun:Elasticsearch Cloud için:
  • Elasticsearch Cloud konsolunuzda Security’ye gidin
  • Etkinlik indeksleri için okuma izinlerine sahip bir API anahtarı oluşturun
  • Cloud ID ve API Key’inizi not edin
Self-hosted Elasticsearch için:
  • Kimlik doğrulamayı yapılandırın (temel kimlik doğrulama veya API anahtarı)
  • Kümenizin OneSignal’ın IP adreslerinden erişilebilir olduğundan emin olun
  • Küme endpoint URL’nizi ve kimlik bilgilerinizi not edin
2

Özel kullanıcı oluşturun (önerilir)

Etkinlik indekslerine salt okunur erişime sahip OneSignal için özel bir kullanıcı oluşturun:
PUT _security/user/onesignal_reader
{
  "password": "strong_password",
  "roles": ["onesignal_events_reader"]
}

PUT _security/role/onesignal_events_reader
{
  "indices": [
    {
      "names": ["events-*", "user_events"],
      "privileges": ["read", "view_index_metadata"]
    }
  ]
}
3

OneSignal'da entegrasyon ekleyin

OneSignal’da, Veri > Entegrasyonlar’a gidin ve Entegrasyon Ekle’ye tıklayın.Elasticsearch’i seçin ve şunları sağlayın:
  • Cluster URL: Elasticsearch endpoint’iniz (örneğin, https://your-cluster.es.amazonaws.com)
  • Authentication Method: API Key, Basic Auth veya Certificate
  • Username/Password veya API Key: Kimlik doğrulama bilgileri
  • Cloud ID (Elasticsearch Cloud kullanıyorsanız): Deployment Cloud ID’niz
4

Etkinlik veri kaynağını yapılandırın

Etkinlik verilerinizi içeren Elasticsearch indeksini belirtin:
  • Index Pattern: Etkinlikleri içeren indeks veya indeks deseni (örneğin, events-*)
  • Event Query: Etkinlik belgelerini filtrelemek için isteğe bağlı Elasticsearch Query DSL
  • Time Field: Zaman tabanlı filtreleme için zaman damgası alanı (örneğin, @timestamp)
Etkinlik belgeleriniz şunlar için alanlar içermelidir:
  • Etkinlik adı/türü (String)
  • Kullanıcı tanımlayıcısı (String)
  • Etkinlik zaman damgası (Date)
  • Ek etkinlik özellikleri (Object)
5

Bağlantıyı test edin

OneSignal’ın Elasticsearch kümenize erişebildiğini ve etkinlik verilerini okuyabildiğini doğrulamak için Test Connection’a tıklayın.

Etkinlik veri eşleştirme

verilerinizi OneSignal’ın özel etkinlik formatına eşleştirin:
OneSignal AlanıAçıklamaGerekli
nameevent_nameEtkinlik tanımlayıcıEvet
external_iduser_idKullanıcı tanımlayıcıEvet
timestampevent_timestampEtkinliğin gerçekleştiği zamanHayır
propertiesevent_dataHayır

Gelişmiş Yapılandırma

Query DSL Filtreleme

OneSignal’a senkronize etmeden önce etkinlik verilerini filtrelemek ve dönüştürmek için Elasticsearch Query DSL kullanın:
{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "@timestamp": {
              "gte": "now-7d"
            }
          }
        },
        {
          "terms": {
            "event_name": ["purchase", "signup", "upgrade"]
          }
        }
      ],
      "must_not": [
        {
          "term": {
            "test_user": true
          }
        }
      ]
    }
  },
  "_source": [
    "event_name",
    "user_id",
    "@timestamp",
    "properties.*"
  ]
}

Index Pattern Yapılandırması

Birden fazla indekste verimli sorgulama yapın:
  • Zaman tabanlı indeksler: Zaman bölümlenmiş veriler için events-2024-* gibi desenler kullanın
  • Routing: Kullanıcı tabanlı sorgular için tutarlı yönlendirme sağlayın
  • Aliases: Basitleştirilmiş yönetim için indeks takma adları kullanın

Performans Optimizasyonu

Büyük etkinlik hacimleri için sorguları optimize edin:
  • Alan filtreleme: Yalnızca gerekli alanları almak için _source filtreleme kullanın
  • Scroll API: Büyük sonuç kümeleri için OneSignal scroll sayfalama kullanır
  • Date math: Verimli zaman tabanlı filtreleme için Elasticsearch date math kullanın
Elasticsearch kümenizin, kümeyi kullanan diğer uygulamaları etkilemeden OneSignal’ın sorgularını işlemek için yeterli kaynaklara sahip olduğundan emin olun.

SSS

OneSignal etkinlikleri Elasticsearch’ten ne sıklıkla senkronize eder?

OneSignal, yapılandırılmış programınıza göre minimum 15 dakikalık aralıklarla etkinlik verilerini senkronize eder.

Birden fazla Elasticsearch indeksinden etkinlikleri senkronize edebilir miyim?

Evet, birden fazla indekste sorgu yapmak için indeks desenleri (örneğin, events-*) kullanabilir veya farklı indeks grupları için birden fazla entegrasyon oluşturabilirsiniz.

Elasticsearch kümem geçici olarak kullanılamıyorsa ne olur?

OneSignal üstel geri çekilme ile bağlantıları yeniden deneyecektir. Kümeniz tekrar erişilebilir olduğunda etkinlik senkronizasyonu otomatik olarak devam edecektir.