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şlatma, ilk | MMP’nin UID callback’ini bekleyin, örneğin getAppsFlyerUID. | | 2a | Adapty.activate(context, AdaptyConfig.Builder("KEY").withCustomerUserId(...).build()) | Uygulama başlatma, 1. adımdan sonra, eğer customer user ID’niz varsa | Önerilir. Anonim profil oluşturulmaz. | | 2b | Adapty.activate(context, AdaptyConfig.Builder("KEY").build()) customerUserId olmadan | Uygulama başlatma, 1. adımdan sonra, eğer customer user ID’niz yoksa (veya hiç toplamıyorsanız) | Adapty anonim bir profil oluşturur. | | 3 | Adapty.setIntegrationIdentifier(AdaptyIntegrationIdentifier.appsflyerId(uid)) { error -> ... } | 2. adımdan sonra, herhangi bir kullanıcı eylemi çağrısından önce | MMP ID’lerinin doğru profile iletilmesi için gereklidir. Birden fazla MMP ayarlamak için tek çağrıda bir kimlik listesi geçin. | | 4 | Adapty.identify("YOUR_USER_ID") { error -> ... } | 3. adımdan sonra (veya MMP yoksa 2. adımdan sonra), 5. adımdan önce — yalnızca kimlik doğrulamalı 2b yolunda | Tamamlanma callback’ini kullanın. identify sırasında eş zamanlı çağrılar anonim profile düşebilir. | | 5 | getPaywall, getPaywallProducts, restorePurchases, makePurchase, updateExternalAttribution, updateProfile | identify çağırıyorsanız 4. adımdan sonra; aksi hâlde 3. adımdan sonra (veya MMP yoksa 2. adımdan sonra) | Bu çağrılar kararlı bir profil gerektirir. |
Important

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: