Analitik entegrasyonları
Adapty, tüm abonelik olaylarını Amplitude, Mixpanel ve AppMetrica gibi analitik servislere gönderir. Ayrıca webhook entegrasyonu aracılığıyla olayları sunucunuza da iletebiliriz. En güzel yanı şu: olayları siz göndermek zorunda değilsiniz, bunu bizim yerinize yapıyoruz. 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! Özellik talebi oluşturun, eklemeyi değerlendirelim.
Olay özellikleri
Webhook olayları JSON formatında gönderilir. Tüm olaylar aynı yapıyı izler; ancak alanlar olay türüne, mağazaya ve özel yapılandırmanıza göre farklılık gösterir.
| Ö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 payı düşülmeden önceki ürün fiyatı. Gelir. |
| proceeds_usd | float | Apple/Google payı düşüldükten sonraki ürün fiyatı. Net gelir. |
| net_revenue_usd | float | USD cinsinden net gelir (Apple/Google payı ve vergiler düşüldükten sonraki kazanç). Boş olabilir. |
| price_local | float | Yerel para biriminde Apple/Google payı düşülmeden önceki ürün fiyatı. Gelir. |
| proceeds_local | float | Yerel para biriminde Apple/Google payı düşüldükten sonraki ü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 almanın işlem 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 almanın 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 | Abonelik bitiş tarihi. Genellikle gelecekte bir tarihtir. |
| consecutive_payments | int | Kullanıcının kesintisiz abone olduğu dönem sayısı. Mevcut dönemi de içerir. |
| rate_after_first_year | bool | Aboneliğin bir yıllık kesintisiz yenilemeden sonra indirimli komisyon oranına (%15) hak kazandığını gösteren boolean. Komisyon oranları programa uygunluk ve ülkeye göre değişir. Ayrıntılar için Mağaza komisyonu ve vergileri bölümüne bakın. |
| promotional_offer_id | str | Adapty Kontrol Paneli’nin Ü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 bize gönderilen ülke. |
| profile_ip_address | str | Profil IP adresi (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 | İadeler dahil olmak üzere profil için toplam gelir. |
| variation_id | uuid | Satın almanın yapıldığı paywall’ın benzersiz ID’si. |
| access_level_id | str | Ücretli access level ID’si. |
| is_active | bool | Profil için ücretli access level’ın aktif olup olmadığını gösteren boolean. |
| will_renew | bool | Ücretli access level’ın yenilenip yenilenmeyeceğini gösteren boolean. |
| is_refund | bool | İşlemin iade edilip edilmediğini gösteren boolean. |
| is_lifetime | bool | Ücretli access level’ın süresiz erişim olup olmadığını gösteren boolean. |
| is_in_grace_period | bool | Profilin ek sürede olup olmadığını gösteren 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 yenileneceği tarih ve saat. |
| 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 sorunun tespit edildiği tarih ve saat. |
| profile_has_access_level | Bool | Profilin aktif bir access level’a sahip olup olmadığını gösteren 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.