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
- 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)
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.
- Listeden Google Pub/Sub’ı seçin
- Pub/Sub konularınızın bulunduğu GCP Project ID’yi girin
- 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
- 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 OneSignal bu rolü şunlar için kullanır:
roles/pubsub.editor rolünü verin:- 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
- Olay verilerinizi içeren konunun adına tıklayın
- Mesaj formatı olarak JSON’u seçin (desteklenen tek format)
- Import sample message’a tıklayın ve örnek bir olay mesajı sağlayın
- Doğru alan eşlemesini sağlamak için algılanan şemayı inceleyin
- 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 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 |
Ö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.editorizinleri gerektirir - Maksimum mesaj boyutu Google Pub/Sub limitlerini takip eder (10MB)