Analitik 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.

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.

ÖzellikTürAçıklama
profile_iduuidAdapty kullanıcı kimliği.
currencystrYerel para birimi (varsayılan olarak USD).
price_usdfloatApple/Google kesintisi öncesi ürün fiyatı. Gelir.
proceeds_usdfloatApple/Google kesintisi sonrası ürün fiyatı. Net gelir.
net_revenue_usdfloatUSD cinsinden net gelir (Apple/Google kesintisi ve vergiler sonrası gelir). Boş olabilir.
price_localfloatYerel para biriminde Apple/Google kesintisi öncesi ürün fiyatı. Gelir.
proceeds_localfloatYerel para biriminde Apple/Google kesintisi sonrası ürün fiyatı. Net gelir.
transaction_idstrSatın alma veya yenileme gibi bir işlem için benzersiz tanımlayıcı.
original_transaction_idstrOrijinal satın almanın işlem tanımlayıcısı.
purchase_dateISO 8601 dateÜrün satın alma tarihi ve saati.
original_purchase_dateISO 8601 dateOrijinal satın almanın tarihi ve saati.
environmentstrSandbox veya Production olabilir.
vendor_product_idstrApple App Store, Google Play Store veya Stripe’taki ürün kimliği.
base_plan_idstrGoogle Play Store’daki temel plan kimliği veya Stripe’taki fiyat kimliği.
event_datetimeISO 8601 dateOlayın tarihi ve saati.
storestrapp_store veya play_store olabilir.
trial_durationstrDeneme süresinin gün cinsinden uzunluğu. ” days” biçiminde gönderilir, örneğin “7 days”.
cancellation_reasonstr

Kullanıcının aboneliği iptal etme nedeni.

Şunlar olabilir:

iOS & Android

voluntarily_cancelled, billing_error, refund

iOS

price_increase, product_was_not_available, unknown

Android

new_subscription_replace, cancelled_by_developer

subscription_expires_atISO 8601 dateAboneliğin bitiş tarihi. Genellikle gelecekte bir tarihtir.
consecutive_paymentsintKullanıcının kesintisiz abone olduğu dönem sayısı. Mevcut dönemi de içerir.
rate_after_first_yearboolBir 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 Mağaza komisyonu ve vergiler bölümüne bakın.
promotional_offer_idstrAdapty Kontrol Paneli’nin Ürün bölümünde belirtilen promosyon teklifi kimliği.
store_offer_categorystrintroductory veya promotional olabilir.
store_offer_discount_typestrfree_trial, pay_as_you_go veya pay_up_front olabilir.
paywall_namestrİşlemin gerçekleştiği paywall’ın adı.
paywall_revisionintİşlemin gerçekleştiği paywall’ın revizyonu. Değer 1 olarak ayarlanır.
developer_idstrİşlemin gerçekleştiği placement’ın geliştirici (SDK) kimliği.
ab_test_namestrİşlemin gerçekleştiği A/B testinin adı.
ab_test_revisionintİşlemin gerçekleştiği A/B testinin revizyonu. Değer 1 olarak ayarlanır.
cohort_namestrProfilin ait olduğu kitlenin adı.
profile_event_iduuidTekilleştirme amacıyla kullanılabilecek benzersiz olay kimliği.
store_countrystrMağaza tarafından bize gönderilen ülke.
profile_ip_addressstrProfil IP’si (IPv4 veya IPv6 olabilir; mevcut olduğunda IPv4 tercih edilir). Cihazın IP’si her değiştiğinde güncellenir.
profile_countrystrAdapty tarafından profil IP’sine göre belirlenir.
profile_total_revenue_usdfloatİadeler dahil profil için toplam gelir.
variation_iduuidSatın almanın yapıldığı paywall’ın benzersiz kimliği.
access_level_idstrÜcretli access level kimliği.
is_activeboolÜcretli access level’ın profil için aktif olup olmadığını belirten boolean.
will_renewboolÜcretli access level’ın yenilenip yenilenmeyeceğini belirten boolean.
is_refundboolİşlemin iade edilip edilmediğini belirten boolean.
is_lifetimeboolÜcretli access level’ın süresiz olup olmadığını belirten boolean.
is_in_grace_periodboolProfilin ek sürede olup olmadığını belirten boolean.
starts_atISO 8601 dateKullanıcı için ücretli access level’ın başladığı tarih ve saat.
renewed_atISO 8601 dateÜcretli erişimin yenileneceği tarih ve saat.
expires_atISO 8601 dateÜcretli erişimin sona ereceği tarih ve saat.
activated_atISO 8601 dateÜcretli erişimin etkinleştirildiği tarih ve saat.
billing_issue_detected_atISO 8601 dateFaturalama sorununun tespit edildiği tarih ve saat.
profile_has_access_levelBoolProfilin 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_purchaseprice_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration
subscription_renewedprice_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration
subscription_cancelledcancellation_reason, trial_duration
trial_startedsubscription_expires_at, trial_duration
trial_convertedprice_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration
trial_cancelledcancellation_reason, trial_duration
non_subscription_purchaseprice_usd, proceeds_usd
billing_issue_detectedsubscription_expires_at, trial_duration
entered_grace_periodsubscription_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ı 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.

Reklam tanımlayıcısı toplamayı devre dışı bırakma