Flutter SDK'da çağrı sırası
Adapty().activate() tamamlanmadan diğer hiçbir Adapty SDK metodunu çağıramazsınız. Bu metot çözümlenmeden SDK’nın herhangi bir durumu yoktur. activate() ile eş zamanlı ya da daha önce yapılan tüm çağrılar #2002 notActivated hatasıyla sonuçlanır.
Uygulamanız kullanıcıları doğruluyorsa ve başlatma sonrasında bir müşteri kullanıcı kimliği topluyorsanız, bu noktada Adapty().identify() çağrısını yapın. identify tamamlanana kadar kullanıcı eylemine bağlı metotları çağırmayın. Bununla yarışan çağrılar ya #3006 profileWasChanged hatasıyla başarısız olur ya da etkinleştirme sırasında oluşturulan anonim profile düşer. Bu durumda attribution, appsflyer_id gibi MMP kimlikleri ve kurulum sahipliği her zaman tanımlanan profile aktarılmaz. Uygulamanız kullanıcıları 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. Adapty().activate çağrısından önce bunları başlatın ve UID geri çağırımlarını bekleyin. Aksi takdirde MMP kimliği, kısa ömürlü anonim bir profile düşer ve tanımlı profile her zaman aktarılmaz. AppsFlyer’a özgü ayrıntılar için AppsFlyer sayfasına bakın.
Doğru sıra
Hangi adımları izleyeceğiniz 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şlatıldığında müşteri kullanıcı kimliğiniz elinizde varsa, bunu doğrudan
activate()fonksiyonuna geçirin (adım 2a). Bu yöntem hiçbir zaman anonim profil oluşturmaz, dolayısıyla 4. adım gereksizdir. | 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 sırada | MMP’nin UID geri çağrısını bekleyin, örneğingetAppsFlyerUID. | | 2a |Adapty().activate(configuration: ...)ilewithCustomerUserIdyapılandırmada ayarlanmış | Uygulama başlatma, 1. adımdan sonra, müşteri kullanıcı kimliğiniz varsa | Önerilir. Hiçbir zaman anonim profil oluşturulmaz. | | 2b |Adapty().activate(configuration: ...)withCustomerUserIdolmadan | Uygulama başlatma, 1. adımdan sonra, müşteri kullanıcı kimliğiniz yoksa (veya hiç toplamıyorsanız) | Adapty anonim bir profil oluşturur. | | 3 | Her MMP içinAdapty().setIntegrationIdentifier(key: ..., value: ...)| 2. adımdan sonra, herhangi bir kullanıcı eylemi çağrısından önce | MMP kimliklerinin doğru profile yazılması için gereklidir. | | 4 |await Adapty().identify(customerUserId)| 3. adımdan sonra (veya MMP yoksa 2. adımdan sonra), 5. adımdan önce — yalnızca kimlik doğrulama ile 2b yolunda | Her zamanawaitkullanın.identifysırasında eş zamanlı çağrılar#3006 profileWasChangedhatasına yol açar. | | 5 |getPaywall,getPaywallProducts,restorePurchases,makePurchase,updateAttribution,updateProfile|identifyçağırıyorsanız 4. adımdan sonra; aksi takdirde 3. adımdan sonra (veya MMP yoksa 2. adımdan 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 yüklemeleri
Kullanıcılar web üzerinden ödeme yapıp (Stripe, Paddle) sonradan uygulamayı yüklerse, cihazda ilk çalışan activate() yeni bir anonim profil oluşturur. Bu profil, web profiline bağlı değildir. Uygulama açılmadan önce müşteri kullanıcı kimliğini belirleyebiliyorsanız (auth akışınızdan veya install referrer üzerinden), bunu doğrudan activate() içine geçirin. Aksi takdirde web satın alımı, identify("YOUR_USER_ID") çağrısı yapıp ardından restorePurchases çağırana kadar cihazda görünmez.
Her web ödemesiyle gönderilecek metadata için şu sayfalara bakabilirsiniz: