Ana içeriğe atla

Genel bakış

OneSignal + Amazon S3 entegrasyonu, S3 bucket’ınızda saklanan CSV dosyalarından özel olayların doğrudan OneSignal’in Custom Events API’sine otomatik senkronizasyonunu sağlar. Bu, veri ambarınızda saklanan gerçek kullanıcı davranışına dayalı olarak otomatik Journey’ler ve kişiselleştirilmiş mesajlaşma kampanyaları tetiklemenize olanak tanır. Satın almalar, ürün görüntülemeleri, abonelik değişiklikleri veya herhangi bir özel kullanıcı eylemini senkronize ederek push bildirimleri, e-posta, uygulama içi mesajlar ve SMS aracılığıyla onboarding dizilerini, yeniden etkileşim kampanyalarını, işlemsel mesajları ve hedefli promosyonları otomatik olarak tetikleyebilirsiniz.

Gereksinimler

OneSignal

  • Custom Events özelliği etkinleştirilmiş (şu anda beta aşamasında - support@onesignal.com ile iletişime geçin)

Amazon S3

  • S3 bucket erişimi olan AWS Hesabı
  • Rol ve politikalar oluşturmak için IAM izinleri
  • OneSignal gereksinimlerine göre biçimlendirilmiş olay verileri içeren CSV dosyaları
  • .csv uzantılı UTF-8 kodlu virgülle ayrılmış dosyalar

Kurulum

Olay CSV dosyalarınızı hazırlayın

S3 bucket’ınız, OneSignal’in işleyebileceği olay verileri içeren düzgün biçimlendirilmiş CSV dosyaları içermelidir: Dosya Formatı Gereksinimleri:
  • Sıkıştırılmamış, UTF-8 kodlu, virgülle ayrılmış .csv dosya uzantılı CSV
  • Başlık satırı ekleyin (OneSignal, başlıkları olay alan adları olarak kullanacaktır)
  • Null değerleri #N/A dizesi ile temsil edin
  • Virgül içeren değerler çift tırnak içine alınmalıdır
  • Çift tırnak içeren değerler ikinci bir çift tırnak ile kaçırılmalıdır
Dosya Yapısı: OneSignal, her klasör yolunu benzersiz bir veri kaynağı olarak ele alır ve dosya adını o yol içindeki verilerin bir sürümü olarak değerlendirir. Olayları işlerken, OneSignal her zaman seçilen klasör yolundaki en yeni veriyi zaman damgasına göre seçecektir. S3’teki olay verilerini güncellerken, mevcut dosyayı değiştirebilir veya daha yeni bir sürüm ekleyebilirsiniz. OneSignal yeni olayları işleyecek ve bunları Custom Events API’sine gönderecektir.

OneSignal için IAM rolü oluşturun

OneSignal, AWS güvenlik en iyi uygulamalarını takip ederek S3 bucket’ınıza bağlanmak için rol tabanlı kimlik doğrulama kullanır.
1

IAM rolünü oluşturun

AWS hesabınızda, OneSignal’in AWS Hesap ID’si (341876425553) için S3 bucket’ınıza yalnızca okuma erişimi sağlayan bir IAM rolü oluşturun:
aws iam create-role \
  --role-name OneSignalS3DataImport \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole"
    }]
  }'
OneSignal yapılandırması için ihtiyaç duyacağınız için döndürülen Role ARN’yi kaydedin.
2

S3 izinlerini verin

Yeni oluşturduğunuz role S3 bucket’ınıza yalnızca okuma erişimi verin:
aws iam put-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-name OneSignalS3Access \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET_NAME",
        "arn:aws:s3:::YOUR_BUCKET_NAME/*"
      ]
    }]
  }'
YOUR_BUCKET_NAME’i gerçek S3 bucket adınızla değiştirin.

OneSignal S3 bağlantısını yapılandırın

1

Data Sources'a gidin

In OneSignal, go to Data > Integrations and click Add Integration.
2

Amazon S3'ü seçin

Mevcut entegrasyonlar listesinden Amazon S3’ü seçin.
3

Bağlantı detaylarını girin

Aşağıdaki bilgileri sağlayın:
  • Region: S3 bucket bölgeniz
  • Bucket Name: S3 bucket adınız
  • Role ARN: Adım 1’deki IAM rolü ARN’si
  • Prefix: Olay CSV dosyalarınızı içeren klasör yolu (isteğe bağlı)
4

Güvenlik el sıkışmasını tamamlayın

OneSignal benzersiz bir external ID oluşturacak ve bir sonraki ekranda görüntüleyecektir. IAM rolünüzü bu external ID’yi gerektirecek şekilde güncelleyin:
aws iam update-assume-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole",
      "Condition": {"StringEquals": {"sts:ExternalId": "GENERATED_EXTERNAL_ID"}}
    }]
  }'
GENERATED_EXTERNAL_ID’yi OneSignal dashboard’unda gösterilen external ID ile değiştirin.
5

Bağlantıyı test edin

Kurulumun doğru çalıştığını doğrulamak için OneSignal’de Test Connection’a tıklayın.

CSV İşleme Modları

OneSignal, S3 bucket’ınızdan olay CSV dosyalarını okurken iki modu destekler:

Most Recent (Varsayılan)

OneSignal, yapılandırılmış S3 prefix ve klasör grubundaki yalnızca en son dosyayı işler. Tek dosya, işlenecek olayların tam seti olarak yorumlanır. Bu mod şu durumlarda iyi çalışır:
  • Tek bir dosya, bir zaman periyodu için tüm olayları içerir
  • Dosyaların yeni sürümleri, güncellenmiş olay verileriyle zaman içinde eklenir
  • Tam bir olay grubunu bir kerede işlemek istiyorsunuz

Merge All

OneSignal, yapılandırılmış S3 prefix ve klasör grubundaki her dosyayı alır ve olayları işlemeden önce bunları tek bir veri kümesinde birleştirir. Bu mod şu durumlarda faydalıdır:
  • Olay verileriniz birden fazla dosyaya bölünmüştür
  • Birden fazla kaynaktan olayları işlemek istiyorsunuz
  • Dosyalar yeni olaylarla aşamalı olarak ekleniyor
Merge All modunda, tüm CSV dosyalarının tamamen aynı sütun adlarına ve sırasına sahip olması gerekir.

Olay Verisi Eşleştirme

Bağlandıktan sonra, CSV sütunlarınızı OneSignal özel olay alanlarıyla eşleştirmeniz gerekecektir:
1

Algılanan alanları inceleyin

OneSignal, olay CSV dosyalarınızdaki sütunları otomatik olarak algılayacak ve eşleştirmeler önerecektir.
2

Gerekli olay alanlarını eşleştirin

Özel olaylar için gerekli alanları eşleştirin:
  • Event Name (gerekli): Olayın adı/türü
  • External ID (gerekli): Harici Kullanıcı ID’si
  • Event Timestamp (isteğe bağlı): Olayın gerçekleştiği zaman. Aksi takdirde, şimdi olduğu varsayılır.
3

Senkronizasyon ayarlarını yapılandırın

Olay işleme sıklığınızı ve teslimat tercihlerinizi ayarlayın.

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

Sınırlamalar

  • SQL Sorguları: S3 kaynakları, olay verileri üzerinde SQL sorguları veya gelişmiş dönüşümleri desteklemez
  • Dosya Boyutu: Bireysel CSV dosyaları 1GB’ı geçmemelidir
  • Güncelleme Sıklığı: Minimum senkronizasyon aralığı 15 dakikadır
  • Dosya Türleri: Yalnızca CSV dosyaları desteklenir (JSON, Parquet vb. desteklenmez)

SSS

CSV dosyamda biçimlendirme hataları varsa ne olur?

OneSignal, hatalı biçimlendirilmiş satırları atlayacak ve entegrasyonlar dashboard’unda ayrıntılı hata günlükleri sağlayacaktır. Yaygın sorunlar arasında eksik gerekli sütunlar, geçersiz zaman damgası formatları ve tutarsız sütun sayıları bulunur.

OneSignal yeni dosyaları ne sıklıkla kontrol eder?

OneSignal, S3 bucket’ınızı yapılandırılmış senkronizasyon sıklığınıza göre kontrol eder, minimum aralık 15 dakikadır.

Yardıma mı ihtiyacınız var?

S3 entegrasyon kurulumunuzla ilgili yardım için destek ekibimizle support@onesignal.com adresinden veya uygulama içi sohbet aracılığıyla iletişime geçin.