Genel bakış
RevenueCat, platformlar arası uygulama içi satın almaları ve abonelik yaşam döngülerini izlemenize yardımcı olur. OneSignal ile, kullanıcının abonelik durumuna göre kişiselleştirilmiş mesajlar göndermek için bu verileri kullanabilirsiniz. Bu entegrasyon, OneSignal’deki kullanıcı etiketlerini en son abonelik bilgileriyle otomatik olarak günceller.Ana faydalar
RevenueCat–OneSignal entegrasyonu ile şunları yapabilirsiniz:- Ücretsiz denemede olan veya yeni abone olan kullanıcılara onboarding mesajları gönderin.
- Anketler veya indirimlerle kayıp kullanıcıları yeniden etkileşime geçirin.
- Satın almalar, faturalama sorunları veya yenilemeler için işlemsel mesajlar gönderin.
Gereksinimler
- RevenueCat hesabı
- RevenueCat Purchases SDK
- RevenueCat-OneSignal entegrasyonu’nu anlayın
- Entegre SDK ile OneSignal hesabı
- Data Tags, Users ve OneSignal Subscriptions’ı anlayın
Kurulum
OneSignal’i RevenueCat’e bağlayın
- RevenueCat dashboard’unuzda, proje ayarlarınıza gidin ve Integrations menüsünden ‘OneSignal’i seçin.
- OneSignal Uygulama ID’nizi ve OneSignal API anahtarınızı ekleyin. Daha fazla bilgi için Keys and IDs’e bakın.
- RevenueCat’in kullanması gereken etiket adlarını girin veya varsayılan etiket adlarını seçin.
OneSignal ID’yi RevenueCat’e iletin
RevenueCat, kullanıcıların RevenueCat kullanıcı detaylarına göre OneSignal’deki kullanıcı etiketlerini güncellemek için OneSignal kullanıcı ID’sini (OneSignal ID) kullanır. OneSignal ID’yi RevenueCat’e iletmek için şunları yapmalısınız:1
OneSignal'de External ID'yi ayarlayın
OneSignal’deki External ID’yi ana kullanıcı ID’nize ayarlayın. Bu, SDK
login yöntemiyle yapılabilir.2
OneSignal ID'yi alın
OneSignal ID’yi almak için kullanıcı durumu gözlemci yöntemini kullanmanızı öneririz, ancak ayrıca getter yöntemleri de sağlıyoruz:
- Kullanıcı durumu gözlemcileri:
- Getter yöntemleri:
3
OneSignal ID'yi RevenueCat'e iletin
OneSignal ID’yi RevenueCat’e iletin.
- RevenueCat özelliği:
$onesignalUserId - RevenueCat yardımcı yöntemi:
setOneSignalUserID()(önerilir)
RevenueCat olaylarını OneSignal’e gönderin
RevenueCat’e eşlenmiş bir OneSignal ID’si olan kullanıcıların etiketleri otomatik olarak güncellenecektir.Entegrasyonu test etme
1
Bir sandbox satın alması yapın
Uygulamanızı yükleyen yeni bir kullanıcıyı simüle edin ve bir sandbox satın almasını tamamlamak için uygulama akışınızdan geçin.
2
Gerekli cihaz verilerinin toplandığını kontrol edin
RevenueCat’te, az önce satın alma yapan test kullanıcısı için Müşteri Görünümüne gidin. Gerekli tüm verilerin kullanıcı için özellik olarak listelendiğinden emin olun.
3
OneSignal olayının başarıyla teslim edildiğini kontrol edin
Hala Müşteri Görünümündeyken, Müşteri Geçmişindeki test satın alma olayına tıklayın ve OneSignal entegrasyon olayının mevcut olduğundan ve başarıyla teslim edildiğinden emin olun.
4
OneSignal etiketlerinin güncellendiğini kontrol edin
OneSignal’de, Audience > Users’a gidin ve OneSignal ID’yi arayın. RevenueCat tarafından güncellenen etiketleri görmelisiniz.
Entegrasyon tamamlandı! Kullanıcılar satın alma yaptıkça veya abonelik durumlarını güncelledikçe artık OneSignal’deki etiketlerin otomatik olarak güncellendiğini görmelisiniz.
RevenueCat olay etiketleri
RevenueCat’teki her otomatik yenilenen abonelik olayı için, aşağıdaki etiketler OneSignal’deki kullanıcıya eklenir veya güncellenir. RevenueCat dashboard’unda etiketi boş bırakarak, belirli etiket(ler) için herhangi bir değer göndermemeyi seçebilirsiniz.| Etiket | Açıklama |
|---|---|
app_user_id | Olayı tetikleyen RevenueCat Uygulama Kullanıcı ID’si |
period_type | Satın alma veya yenileme için en son dönem türü. Ya: TRIAL (ücretsiz denemeler için), INTRO (tanıtım fiyatlandırması için) ya da NORMAL (standart abonelik) |
purchased_at | En son abonelik satın alması veya yenilemesinin Epoch zamanı (saniye cinsinden) |
expiration_at | En son abonelik bitiş tarihinin Epoch zamanı (saniye cinsinden) |
store | Ya APP_STORE, PLAY_STORE ya da STRIPE |
environment | Ya SANDBOX ya da PRODUCTION |
last_event_type | Kullanıcıdan gelen en son olay türü. Ya: INITIAL_PURCHASE, TRIAL_STARTED, TRIAL_CONVERTED, TRIAL_CANCELLED, RENEWAL, CANCELLATION |
product_id | Kullanıcının satın aldığı veya yenilediği en son abonelik ürün tanımlayıcısı |
entitlement_ids | Kullanıcının kilidi açtığı RevenueCat Entitlement tanımlayıcılarının virgülle ayrılmış dizesi |
active_subscription | Değer herhangi bir satın alma/yenileme olayında true ve EXPIRATION’da false olarak ayarlanacaktır |
subscription_status | Aşağıdaki Abonelik Durumu Özelliği’ne bakın |
grace_period_expiration_at | Faturalama sorunu oluşursa, ek süre bitiş tarihini göndereceğiz. |
- Yalnızca otomatik yenilenen abonelikler
- RevenueCat, OneSignal’deki veri etiketlerini yalnızca otomatik yenilenen abonelik olaylarına yanıt olarak günceller.
RevenueCat olay örnekleri
Sağlanan JSON örnekleri, RevenueCat Events’e göre OneSignal’e gönderilen etiketleri gösterir. Olay,last_event_type etiketi olarak kaydedilir.
- initial_purchase
- trial_started
- trial_converted
- trial_cancelled
- renewal
- cancellation
- uncancellation
- non_subscription_purchase
- subscription_paused
- expiration
- billing_issue
- product_change
subscription_status etiketi
RevenueCat, OneSignal’e bir olay gönderdiğinde, aşağıdaki değerlerden birini kullanarak uygulanabilir değişikliklerle birlikte bir subscription_status etiketi eklenir veya güncellenir:
| Durum | Açıklama |
|---|---|
| active | Müşterinin, bir sonraki yenileme tarihinde yenilenecek şekilde ayarlanmış aktif, ücretli bir aboneliği vardır. |
| intro | Müşterinin, ücretli bir tanıtım teklifi aracılığıyla aktif, ücretli bir aboneliği vardır. |
| cancelled | Müşterinin, bir sonraki yenileme tarihinde sona erecek şekilde ayarlanmış ücretli bir aboneliği vardır. |
| grace_period | Müşteri, başarıyla yenilenemeyen ücretli bir aboneliğin ardından ek süreye girmiştir. |
| trial | Müşteri, deneme süresi sonunda ücretliye dönüşecek şekilde ayarlanmış bir deneme süresindedir. |
| cancelled_trial | Müşteri, deneme süresi sonunda sona erecek şekilde ayarlanmış bir deneme süresindedir. |
| grace_period_trial | Müşteri bir deneme süresindeydi ve başarıyla yenilenemeyen bir aboneliğin ardından şimdi ek süreye girdi. |
| expired | Müşterinin aboneliğinin süresi doldu. |
| promotional | Müşteri, bir RevenueCat aracılığıyla bir yetkilendirmeye erişime sahiptir |
| expired_promotional | Müşteri daha önce süresi dolan bir RevenueCat Verilen Yetkilendirme aracılığıyla bir yetkilendirmeye erişime sahipti. |
| paused | Müşterinin, duraklatılmış ve gelecekte bir tarihte devam edecek şekilde ayarlanmış ücretli bir aboneliği vardır. |