Analytics entegrasyonları
Adapty, tüm abonelik etkinliklerini Amplitude, Mixpanel ve AppMetrica gibi analitik servislere gönderir. Ayrıca webhook entegrasyonu kullanarak etkinlikleri sunucunuza da iletebiliriz. Bunun en güzel yanı, etkinlikleri kendiniz göndermenize gerek olmamasıdır; biz hallederiz. Tek yapmanız gereken entegrasyonu Adapty Kontrol Paneli’nde yapılandırmak.
Adapty aşağıdaki üçüncü taraf analitik servisleriyle entegrasyonu destekler:
Analitik sağlayıcınızı görmüyor musunuz?
Bize bildirin! Bir özellik talebi oluşturun, değerlendirip ekleyebiliriz.
Etkinlik özellikleri
Webhook etkinlikleri JSON formatında gönderilir. Tüm etkinlikler aynı yapıyı takip eder, ancak alanları etkinlik türüne, mağazaya ve özel yapılandırmanıza göre farklılık gösterir.
Adapty, diğer para birimlerini USD’ye currencylayer.com döviz kuru üzerinden çevirir (her 8 saatte bir güncellenir). Kur, işlem anında sabitlenir — sonraki değişiklikler dönüşüm sonucunu etkilemez.
| Özellik | Tür | Açıklama |
|---|---|---|
| profile_id | uuid | Adapty kullanıcı ID’si. |
| currency | str | Yerel para birimi (varsayılan USD). |
| price_usd | float | Apple/Google kesintisi öncesi ürün fiyatı. Gelir. |
| proceeds_usd | float | Apple/Google kesintisi sonrası ürün fiyatı. Net gelir. |
| net_revenue_usd | float | Net gelir (Apple/Google kesintisi ve vergiler sonrası gelir) USD cinsinden. Boş olabilir. |
| price_local | float | Apple/Google kesintisi öncesi yerel para birimindeki ürün fiyatı. Gelir. |
| proceeds_local | float | Apple/Google kesintisi sonrası yerel para birimindeki ürün fiyatı. Net gelir. |
| transaction_id | str | Satın alma veya yenileme gibi bir işlem için benzersiz tanımlayıcı. |
| original_transaction_id | str | Orijinal satın alma işleminin tanımlayıcısı. |
| purchase_date | ISO 8601 date | Ürün satın alma tarihi ve saati. |
| original_purchase_date | ISO 8601 date | Orijinal satın alma tarihi ve saati. |
| environment | str | Sandbox veya Production olabilir. |
| vendor_product_id | str | Apple App Store, Google Play Store veya Stripe’taki ürün ID’si. |
| base_plan_id | str | Google Play Store’daki temel plan ID’si veya Stripe’taki fiyat ID’si. |
| event_datetime | ISO 8601 date | Olayın tarihi ve saati. |
| store | str | app_store veya play_store olabilir. |
| trial_duration | str | Deneme süresinin gün cinsinden uzunluğu. ” days” formatında gönderilir, örneğin “7 days”. |
| cancellation_reason | str | Kullanıcının aboneliği iptal etme nedeni. Olabilecek değerler: iOS & Android voluntarily_cancelled, billing_error, refund iOS price_increase, product_was_not_available, unknown Android new_subscription_replace, cancelled_by_developer |
| subscription_expires_at | ISO 8601 date | Aboneliğin sona erme tarihi. Genellikle gelecekteki bir tarihtir. |
| consecutive_payments | int | Kullanıcının kesintisiz abonelikte geçirdiği dönem sayısı. Mevcut dönem dahildir. |
| rate_after_first_year | bool | Bir yıllık kesintisiz yenilemeden sonra aboneliğin indirimli komisyon oranına (%15) hak kazanıp kazanmadığını belirten boolean. Komisyon oranları programa uygunluk ve ülkeye göre değişir. Ayrıntılar için bkz. Mağaza komisyonu ve vergiler. |
| promotional_offer_id | str | Adapty Kontrol Paneli’ndeki Ürün bölümünde belirtilen promosyon teklifi ID’si. |
| store_offer_category | str | introductory veya promotional olabilir. |
| store_offer_discount_type | str | free_trial, pay_as_you_go veya pay_up_front olabilir. |
| paywall_name | str | İşlemin gerçekleştiği paywallın adı. |
| paywall_revision | int | İşlemin gerçekleştiği paywallın revizyonu. Değer 1 olarak ayarlanır. |
| developer_id | str | İşlemin gerçekleştiği placement’ın geliştirici (SDK) ID’si. |
| ab_test_name | str | İşlemin gerçekleştiği A/B testinin adı. |
| ab_test_revision | int | İşlemin gerçekleştiği A/B testinin revizyonu. Değer 1 olarak ayarlanır. |
| cohort_name | str | Profilin ait olduğu kitlenin adı. |
| profile_event_id | uuid | Tekilleştirme için kullanılabilecek benzersiz olay ID’si. |
| store_country | str | Mağaza tarafından iletilen ülke bilgisi. |
| profile_ip_address | str | Profil IP’si (IPv4 veya IPv6 olabilir; mevcut olduğunda IPv4 tercih edilir). Cihazın IP’si her değiştiğinde güncellenir. |
| profile_country | str | Adapty tarafından profil IP’sine göre belirlenir. |
| profile_total_revenue_usd | float | Profil için iade işlemleri dahil toplam gelir. |
| variation_id | uuid | Satın almanın gerçekleştiği paywallın benzersiz ID’si. |
| access_level_id | str | Ücretli access level ID’si. |
| is_active | bool | Ücretli access level’ın profil için aktif olup olmadığını belirten boolean. |
| will_renew | bool | Ücretli access level’ın yenilenip yenilenmeyeceğini belirten boolean. |
| is_refund | bool | İşlemin iade edilip edilmediğini belirten boolean. |
| is_lifetime | bool | Ücretli access level’ın süresiz erişim olup olmadığını belirten boolean. |
| is_in_grace_period | bool | Profilin ek sürede olup olmadığını belirten boolean. |
| starts_at | ISO 8601 date | Kullanıcı için ücretli access level’ın başladığı tarih ve saat. |
| renewed_at | ISO 8601 date | Ücretli erişimin mevcut döneminin en son başladığı tarih ve saat. İlk yenilemeden önce activated_at ile aynı değeri alır. |
| expires_at | ISO 8601 date | Ücretli erişimin sona ereceği tarih ve saat. |
| activated_at | ISO 8601 date | Ücretli erişimin etkinleştirildiği tarih ve saat. |
| billing_issue_detected_at | ISO 8601 date | Ödeme sorununun tespit edildiği tarih ve saat. |
| profile_has_access_level | Bool | Profilin aktif bir access level’a sahip olup olmadığını belirten boolean (yalnızca Webhook). |
Her olay şu özelliklere sahiptir:
transaction_id, original_transaction_id, purchase_date, original_purchase_date, environment, vendor_product_id, event_datetime, store.
Bunların yanı sıra bazı olaylar ek özellikler içerir. subscription_refunded ve non_subscription_purchase_refunded olayları için price_usd ve proceeds_usd değerlerinin ek özellik olarak sağlanması zorunludur.
| Olay Adı | Özellikler |
|---|---|
| subscription_initial_purchase | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_renewed | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_cancelled | cancellation_reason, trial_duration |
| trial_started | subscription_expires_at, trial_duration |
| trial_converted | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| trial_cancelled | cancellation_reason, trial_duration |
| non_subscription_purchase | price_usd, proceeds_usd |
| billing_issue_detected | subscription_expires_at, trial_duration |
| entered_grace_period | subscription_expires_at, trial_duration |
Olay örneği
{
"price_usd": 9.99,
"proceeds_usd": 6.99,
"transaction_id": "1000000628581600",
"original_transaction_id": "1000000628581600",
"purchase_date": "2020-02-18T18:40:22.000000+0000",
"original_purchase_date": "2020-02-18T18:40:22.000000+0000",
"environment": "Sandbox",
"vendor_product_id": "premium",
"event_datetime": "2020-02-18T18:40:22.000000+0000",
"store": "app_store"
}
Adapty olayları sunucunuza ve üçüncü taraf analitik sistemlere gönderir.
profile_ip_address özelliği mevcut cihaz IP’siyle senkronize edilir. Adapty sunucuları SDK’dan bilgi aldığında, kayıtlarımızdakinden farklıysa IP güncellenecektir.
Profil tanımlayıcısını ayarlama
- Seçilen analitik için profil tanımlayıcısını uygulamanızda kullanıcı özelliklerini ayarlama talimatları iOS, Android, React Native, Flutter ve Unity kullanarak ayarlayın.
Tekrarlamayı önleme
Tekrarlamayı önlemek için cihazlardan ve sunucunuzdan abonelik olaylarının gönderilmesini devre dışı bırakmayı unutmayın.
Belirli bir müşteri için harici analitiği devre dışı bırakma
Belirli bir müşteri için analitik olaylarının gönderilmesini durdurmak isteyebilirsiniz. Bu, uygulamanızda analitik servislerinden çıkış seçeneği sunduğunuzda kullanışlıdır.
Bir müşteri için harici analitiği devre dışı bırakmak üzere updateProfile() metodunu kullanın. AdaptyProfileParameters.Builder nesnesi oluşturun ve ilgili değeri ayarlayın.
Harici analitik engellendiğinde, Adapty belirli kullanıcı için hiçbir entegrasyona olay göndermez. Uygulamanızdaki tüm kullanıcılar için bir entegrasyonu devre dışı bırakmak istiyorsanız Adapty Kontrol Paneli’nden kapatmanız yeterlidir.
Harici analizleri engellemek, bu kullanıcı için özel webhook’lar dahil tüm entegrasyonlara yapılan etkinlik teslimini durdurur. Backend’iniz bu kullanıcının erişimini yönetmek için webhook etkinliklerine güveniyorsa bunu kullanmayın.
Bu ayar geriye dönük olarak uygulanmaz: ayarlanmadan önce oluşturulan etkinlikler yine de iletilir. Ayrıca Adapty’nin kendi analizlerini etkilemez — kullanıcının işlemleri kontrol paneli grafiklerinde görünmeye devam eder.