Ana içeriğe atla

Genel Bakış

OneSignal + Google Pub/Sub entegrasyonu, kullanıcı davranışına dayalı otomatik mesajlaşma kampanyalarını ve Journey’leri tetiklemek için Pub/Sub konularınızdan OneSignal’e özel olayların gerçek zamanlı senkronizasyonunu sağlar. Pub/Sub, uygulamaların bağımsız bileşenler arasında mesaj göndermesine ve almasına olanak tanıyan Google’ın ölçeklenebilir mesajlaşma hizmetidir. OneSignal, Pub/Sub konularınıza abone olarak hareket eder ve kişiselleştirilmiş kullanıcı deneyimlerini tetiklemek için Pub/Sub’dan olay mesajlarını senkronize etmenize olanak tanır.

Gereksinimler

Google Pub/Sub

  • Pub/Sub etkinleştirilmiş Google Cloud Projesi
  • Olay mesajları içeren Pub/Sub konuları
  • Servis hesabı erişimini vermek için IAM izinleri
  • Konularınızda JSON formatında mesajlar

Kurulum

1

Pub/Sub bağlantısı oluşturun

In OneSignal, go to Data > Integrations and click Add Integration.
  1. Listeden Google Pub/Sub’ı seçin
  2. Pub/Sub konularınızın bulunduğu GCP Project ID’yi girin
  3. Kimlik doğrulama yöntemini seçin:
    • Otomatik oluşturulan Servis Hesabı (önerilir): OneSignal servis hesabını oluşturur ve yönetir
    • Mevcut Servis Hesabı: Kendi servis hesabı anahtar JSON dosyanızı sağlayın
  4. Connect’e tıklayın
2

Servis hesabına izin verin

OneSignal yeni bir servis hesabı oluşturacak ve size servis hesabı e-posta adresini sağlayacaktır.GCP projenizde bu servis hesabına roles/pubsub.editor rolünü verin:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
  --member serviceAccount:SERVICE_ACCOUNT_EMAIL \
  --role roles/pubsub.editor
OneSignal bu rolü şunlar için kullanır:
  • Olay konularınıza abonelikler oluşturma
  • Konulardan olay mesajlarını tüketme
  • Başarısız işlemler için hata konuları (Dead Letter Queue) oluşturma
3

Bağlantıyı test edin

Gerekli izinleri verdikten sonra, bağlantıyı doğrulamak için OneSignal’de Save’e tıklayın.OneSignal, Pub/Sub konularınıza erişebildiğini ve olay mesajlarını işlemeye hazır olduğunu doğrulayacaktır.

Olay Veri Şeması

Özel olaylar için bir Pub/Sub konusu kullanmadan önce, olay mesajlarının şemasını tanımlamanız gerekir.
1

Olay şeması tanımına gidin

OneSignal’de, Data > Integrations’a gidin ve Pub/Sub bağlantınızı seçin.OneSignal, projenizden konu listesini otomatik olarak çeker. Listeyi manuel olarak yenilemek için Refresh topics’e tıklayın.
2

Olay mesajı şemasını tanımlayın

  1. Olay verilerinizi içeren konunun adına tıklayın
  2. Mesaj formatı olarak JSON’u seçin (desteklenen tek format)
  3. Import sample message’a tıklayın ve örnek bir olay mesajı sağlayın
  4. Doğru alan eşlemesini sağlamak için algılanan şemayı inceleyin
  5. Save Dataset’e tıklayın

Olay Mesajı Formatı

Pub/Sub mesajlarınız, OneSignal özel olayları için bu JSON yapısını izlemelidir:
{
  "event_name": "purchase_completed",
  "user_id": "user_12345",
  "timestamp": "2023-12-01T10:30:00Z",
  "properties": {
    "product_id": "prod_abc123",
    "price": 29.99,
    "category": "electronics",
    "payment_method": "credit_card"
  },
  "session_id": "session_789"
}

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
Örnek mesajlara müşteri PII veya hassas veriler eklemeyin. OneSignal, mesaj örneklerini veri kümesi tanımının bir parçası olarak saklar.

Gerçek Zamanlı Olay İşleme

Toplu entegrasyonların aksine, Pub/Sub gerçek zamanlıya yakın olay işlemeyi sağlar:
  • Düşük Gecikme: Olaylar, konulara yayınlandıktan sonraki saniyeler içinde işlenir
  • Otomatik Abonelikler: OneSignal her konu için özel abonelikler oluşturur
  • Hata İşleme: Başarısız olaylar, inceleme için Dead Letter Queue konularına gönderilir
  • Ölçeklenebilir İşleme: Yüksek hacimli olay akışlarını otomatik olarak işler

Gelişmiş Yapılandırma

Dead Letter Queue

OneSignal, işlemenin başarısız olduğu olaylar için otomatik olarak hata konuları oluşturur:
  • Otomatik Oluşturma: Hata konuları abonelik başına oluşturulur
  • Başarısız Olay Depolama: İşlenemeyen olaylar hata ayıklama için saklanır
  • Manuel İnceleme: Sorun giderme için Google Cloud Console üzerinden başarısız olaylara erişin

Mesaj Onaylama

OneSignal, Pub/Sub mesaj onaylamasını otomatik olarak işler:
  • Başarılı İşleme: Mesajlar, başarılı olay oluşturulduktan sonra onaylanır
  • Başarısız İşleme: Mesajlar negatif olarak onaylanır ve Dead Letter Queue’ya gönderilir
  • Yeniden Deneme Mantığı: Geçici hatalar için yerleşik yeniden deneme işleme

Sınırlamalar

  • Yalnızca JSON mesaj formatı desteklenir
  • Mesaj örnekleri veri kümesi tanımlarının bir parçası olarak saklanır (PII’den kaçının)
  • Proje düzeyinde roles/pubsub.editor izinleri gerektirir
  • Maksimum mesaj boyutu Google Pub/Sub limitlerini takip eder (10MB)

SSS

Olaylar ne kadar hızlı işlenir?

Olaylar genellikle Pub/Sub konunuza yayınlandıktan sonraki saniyeler içinde işlenir, bu da gerçek zamanlıya yakın Journey tetiklemesini sağlar.

OneSignal bir olayı işleyemezse ne olur?

Başarısız olaylar, OneSignal’in oluşturduğu bir Dead Letter Queue konusuna otomatik olarak gönderilir. Hata ayıklama için bu olayları Google Cloud Console’da inceleyebilirsiniz.

Farklı olay türleri için birden fazla konu kullanabilir miyim?

Evet, aynı GCP projesi içinde birden fazla konu için şemalar tanımlayabilirsiniz. Her konu, kendi şema tanımlarıyla farklı olay türlerini içerebilir.