Android SDK'da çağrı sırası

Adapty.activate() tamamlanmadan başka hiçbir Adapty SDK metodunu çağırmamalısınız. Bu tamamlanana kadar SDK’nın hiçbir durumu yoktur. activate() öncesinde veya bununla eş zamanlı yapılan her çağrı ADAPTY_NOT_INITIALIZED hatasıyla başarısız olur. Uygulamanız kullanıcıların kimliğini doğruluyorsa ve başlatma sonrasında bir customer user ID topluyorsanız, bu noktada Adapty.identify() çağrısı yapın. identify tamamlanma callback’i tetiklenene kadar kullanıcı eylemi yöntemlerini çağırmayın. Bununla yarışan çağrılar ya callback’lerinde hata döndürür ya da aktivasyon sırasında oluşturulan anonim profile düşer. Bu olduğunda attribution, appsflyer_id gibi MMP ID’leri ve kurulum sahipliği tanımlanan profile her zaman aktarılmaz. Uygulamanız kullanıcıların kimliğini doğrulamıyorsa identify çağrısını atlayın ve anonim profille çalışmaya devam edin. MMP ve analitik SDK’ları (AppsFlyer, Adjust, Branch, PostHog) aynı kurala tabidir. Bunları önce başlatın ve Adapty.activate çağrısı yapmadan önce UID geri çağrılarını bekleyin. Aksi takdirde MMP ID’si kısa süreli anonim bir profile düşer ve her zaman tanımlanmış profile aktarılmaz. AppsFlyer’a özgü ayrıntılar için AppsFlyer sayfasına bakın.

Doğru sıralama

İzleyeceğiniz yol iki şeye bağlıdır: müşteri kullanıcı kimliğini ne zaman öğrendiğiniz ve bir MMP ya da analitik SDK kullanıp kullanmadığınız.

  • 2. ve 5. adımlar: Her uygulama için zorunludur. SDK’yı etkinleştirin, ardından SDK yöntemlerini çağırın.
  • 1. ve 3. adımlar: Yalnızca bir MMP veya analitik SDK entegre ediyorsanız gereklidir (AppsFlyer, Adjust, Branch, PostHog).
  • 4. adım: Yalnızca uygulamanız kullanıcıların kimliğini doğruluyorsa ve müşteri kullanıcı kimliğini başlatma sonrasında topluyorsa gereklidir. Uygulama başlangıcında müşteri kullanıcı kimliğine sahipseniz, activate() çağrısından önce bunu AdaptyConfig.Builder’a aktarın (2a. adım). Bu yol hiçbir zaman anonim profil oluşturmaz, dolayısıyla 4. adım gerekli değildir. | Adım | Çağrı | Ne Zaman | Notlar | |------|---------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------| | 1 | MMP veya analitik SDK’nızı başlatın (AppsFlyer, Adjust, PostHog, Branch) | Uygulama başlangıcında, ilk olarak | MMP’nin UID geri çağrısını bekleyin, örneğin getAppsFlyerUID. | | 2a | Adapty.activate(context, AdaptyConfig.Builder("KEY").withCustomerUserId(...).build()) | Uygulama başlangıcında, adım 1’den sonra, müşteri kullanıcı kimliğiniz varsa | Önerilir. Anonim profil hiçbir zaman oluşturulmaz. | | 2b | Adapty.activate(context, AdaptyConfig.Builder("KEY").build()) customerUserId olmadan | Uygulama başlangıcında, adım 1’den sonra, müşteri kullanıcı kimliğiniz yoksa (veya hiç toplanmıyorsa) | Adapty anonim bir profil oluşturur. | | 3 | Her MMP için Adapty.setIntegrationIdentifier("appsflyer_id", uid) | Adım 2’den sonra, herhangi bir kullanıcı işlemi çağrısından önce | MMP kimliklerinin doğru profile atanması için gereklidir. | | 4 | Adapty.identify("YOUR_USER_ID") { error -> ... } | Adım 3’ten sonra (veya MMP yoksa adım 2’den sonra), adım 5’ten önce — yalnızca kimlik doğrulama ile 2b yolunda | Tamamlama geri çağrısını kullanın. identify sırasında eş zamanlı çağrılar anonim profile düşebilir. | | 5 | getPaywall, getPaywallProducts, restorePurchases, makePurchase, updateAttribution, updateProfile | identify çağırıyorsanız adım 4’ten sonra; aksi hâlde adım 3’ten sonra (veya MMP yoksa adım 2’den sonra) | Bu çağrılar kararlı bir profile ihtiyaç duyar. |

Bu adımları atlamak, geri dönen kullanıcıların premium erişimini kaybetmesine, profillerde eksik appsflyer_id bilgisine ve yanlış kitleye karşı döndürülen paywallara yol açar.

Web2app ve web-funnel kurulumları

Kullanıcılar web ödeme sayfasında (Stripe, Paddle) satın alım yapıp ardından uygulamayı yüklerse, cihazdaki ilk activate() çağrısı yeni bir anonim profil oluşturur. Bu profil, web profiliyle ilişkilendirilmez. Kimlik doğrulama akışınızdan veya install referrer’dan uygulama başlamadan önce kullanıcı ID’sini çözümleyebiliyorsanız, doğrudan AdaptyConfig.Builder içinde belirtin. Aksi takdirde web satın alımı, identify("YOUR_USER_ID") ve ardından restorePurchases çağrısı yapılana kadar cihazda görünmez.

Her web ödeme sayfasıyla göndereceğiniz metadata için şu sayfalara bakın: