Kotlin Multiplatform SDK'da kullanıcıları tanımlama
Bu kılavuz, kendi kimlik doğrulama sisteminiz varsa sizin içindir. Burada, Adapty’deki kullanıcı profillerini mevcut kimlik doğrulama sisteminizle uyumlu hâle getirmek için nasıl çalışacağınızı öğreneceksiniz.
Kullanıcıların satın alımlarını nasıl yöneteceğiniz, uygulamanızın kimlik doğrulama modeline bağlıdır:
- Uygulamanız backend kimlik doğrulaması kullanmıyor ve kullanıcı verisi depolamıyorsa anonim kullanıcılar bölümüne bakın.
- Uygulamanızda backend kimlik doğrulaması varsa (veya olacaksa) tanımlanmış kullanıcılar bölümüne bakın.
Temel kavramlar:
- Profiller, SDK’nın çalışması için gereken varlıklardır. Adapty bunları otomatik olarak oluşturur.
- Anonim (customer user ID olmaksızın) veya tanımlanmış (customer user ID ile) olabilirler.
- Adapty’deki profilleri kendi kimlik doğrulama sisteminizle çapraz referanslamak için customer user ID sağlarsınız.
Anonim ve tanımlanmış kullanıcılar arasındaki farklar:
| Anonim kullanıcılar | Tanımlanmış kullanıcılar | |
|---|---|---|
| Satın alma yönetimi | Mağaza düzeyinde satın alma geri yükleme | Customer user ID aracılığıyla cihazlar arasında satın alma geçmişini koruma |
| Profil yönetimi | Her yeniden yüklemede yeni profil | Oturumlar ve cihazlar arasında aynı profil |
| Veri kalıcılığı | Anonim kullanıcı verisi uygulama yüklemesine bağlıdır | Tanımlanmış kullanıcı verisi uygulama yüklemeleri arasında korunur |
Anonim kullanıcılar
Backend kimlik doğrulamanız yoksa uygulama kodunda kimlik doğrulamayla ilgilenmenize gerek yoktur:
- SDK uygulamanın ilk başlatılmasında etkinleştirildiğinde Adapty kullanıcı için yeni bir profil oluşturur.
- Kullanıcı uygulamada herhangi bir şey satın aldığında bu satın alma Adapty profiliyle ve mağaza hesabıyla ilişkilendirilir.
- Kullanıcı uygulamayı yeniden yüklediğinde veya yeni bir cihazdan yüklediğinde Adapty, etkinleştirmede yeni bir anonim profil oluşturur.
- Kullanıcı uygulamanızda daha önce satın alım yapmışsa, varsayılan olarak bu satın alımlar SDK etkinleştirildiğinde App Store’dan otomatik olarak senkronize edilir.
Anonim kullanıcılarda her yüklemede yeni profil oluşturulur; ancak bu bir sorun değildir çünkü Adapty analitiğinde yeni yükleme olarak neyin sayılacağını yapılandırabilirsiniz.
Anonim kullanıcılar için yüklemeleri cihaz ID’lerine göre saymanız gerekir. Bu durumda, yeniden yüklemeler dahil bir cihazdaki her uygulama yüklemesi bir yükleme olarak sayılır.
Yedekten geri yüklemeler yeniden yüklemelerden farklı davranır. Varsayılan olarak, kullanıcı yedekten geri yükleme yaptığında SDK önbelleğe alınan verileri korur ve yeni profil oluşturmaz. Bu davranışı withAppleClearDataOnBackup ayarıyla yapılandırabilirsiniz. Daha fazla bilgi.
Tanımlanmış kullanıcılar
Uygulamada kullanıcıları tanımlamak için iki seçeneğiniz vardır:
-
Giriş/kayıt sırasında: Kullanıcılar uygulamanız başladıktan sonra giriş yapıyorsa, kimlik doğruladıklarında bir customer user ID ile
identify()çağırın. -
SDK etkinleştirmesi sırasında: Uygulama başlarken zaten bir customer user ID’niz varsa,
activate()çağırırken onu gönderin.
Varsayılan olarak Adapty, şu anda başka bir Customer User ID ile ilişkilendirilmiş bir Customer User ID’den satın alma aldığında access level paylaşılır; yani her iki profil de ücretli erişime sahip olur. Bu ayarı, ücretli erişimi bir profilden diğerine aktaracak veya paylaşımı tamamen devre dışı bırakacak şekilde yapılandırabilirsiniz. Daha fazla ayrıntı için makaleye bakın.
Giriş/kayıt sırasında
Kullanıcıları uygulama başlatıldıktan sonra tanımlıyorsanız (örneğin, uygulamanıza giriş yaptıktan veya kayıt olduktan sonra), customer user ID’lerini ayarlamak için identify metodunu kullanın.
- Bu customer user ID’yi daha önce kullanmadıysanız, Adapty onu otomatik olarak mevcut profille ilişkilendirir.
- Bu customer user ID’yi daha önce kullanıcıyı tanımlamak için kullandıysanız, Adapty bu customer user ID ile ilişkili profille çalışmaya geçer.
Customer user ID’ler her kullanıcı için benzersiz olmalıdır. Parametre değerini sabit kodlarsanız tüm kullanıcılar tek bir kullanıcı olarak değerlendirilir.
Adapty.identify("YOUR_USER_ID") // Unique for each user
.onSuccess {
// successful identify
}
.onError { error ->
// handle the error
}
SDK etkinleştirmesi sırasında
SDK’yı etkinleştirdiğinizde zaten bir customer user ID biliyorsanız, identify çağrısını ayrıca yapmak yerine activate metodunda gönderebilirsiniz.
Customer user ID’yi bilmenize rağmen onu yalnızca etkinleştirmeden sonra ayarlıyorsanız, bu, etkinleştirme sırasında Adapty’nin yeni bir anonim profil oluşturacağı ve identify çağrısından sonra mevcut profile geçeceği anlamına gelir.
Mevcut bir customer user ID (daha önce kullandığınız) veya yeni bir tane iletebilirsiniz. Yeni bir tane iletirseniz, etkinleştirme sırasında oluşturulan yeni profil otomatik olarak customer user ID ile ilişkilendirilir.
Varsayılan olarak, anonim profil oluşturmak analitik panolarını etkilemez çünkü yüklemeler cihaz ID’lerine göre sayılır.
Cihaz ID’si, uygulamanın mağazadan bir cihaza tek bir yüklemesini temsil eder ve yalnızca uygulama yeniden yüklendikten sonra yeniden oluşturulur.
Bunun ilk mi yoksa tekrarlanan bir yükleme mi olduğuna ya da mevcut bir customer user ID kullanılıp kullanılmadığına bağlı değildir.
Profil oluşturma (SDK etkinleştirildiğinde veya çıkış yapıldığında), giriş yapma veya uygulamayı yeniden yüklemeden güncelleme ek yükleme olayları oluşturmaz.
Yüklemeleri cihazlar yerine benzersiz kullanıcılara göre saymak istiyorsanız App settings bölümüne gidin ve Installs definition for analytics ayarını yapılandırın.
AdaptyConfig.Builder("PUBLIC_SDK_KEY")
.withCustomerUserId("user123") // Customer user IDs must be unique for each user. If you hardcode the parameter value, all users will be considered as one.
.build()
Kullanıcıları çıkış yaptırma
Kullanıcıları çıkış yaptırmak için bir butonunuz varsa logout metodunu kullanın.
Kullanıcıları çıkış yaptırmak, kullanıcı için yeni bir anonim profil oluşturur.
Adapty.logout()
.onSuccess {
// successful logout
}
.onError { error ->
// handle the error
}
Kullanıcıları uygulamaya tekrar giriş yaptırmak için identify metodunu kullanın.
Giriş yapmadan satın almaya izin verme
Kullanıcılarınız uygulamanıza giriş yapmadan önce ve sonra satın alım yapabiliyorsa, giriş yaptıktan sonra erişimlerini koruyacaklarından emin olmanız gerekir:
- Çıkış yapmış bir kullanıcı satın alım yaptığında Adapty bunu anonim profil ID’siyle ilişkilendirir.
- Kullanıcı hesabına giriş yaptığında Adapty, tanımlanmış profiliyle çalışmaya geçer.
- Yeni bir customer user ID ise (örneğin satın alım kayıt öncesinde yapılmışsa), Adapty customer user ID’yi mevcut profille ilişkilendirir; böylece tüm satın alma geçmişi korunur.
- Mevcut bir customer user ID ise (customer user ID zaten bir profille bağlantılıysa), profil değişiminden sonra gerçek access level’ı almanız gerekir. Tanımlama işleminden hemen sonra
getProfileçağırabilir ya da veriler otomatik senkronize olsun diye profil güncellemelerini dinleyebilirsiniz.
Sonraki adımlar
Tebrikler! Uygulamanıza uygulama içi ödeme mantığını eklediniz! Uygulama monetizasyonunuzda başarılar diliyoruz!
Adapty’den daha fazla yararlanmak için şu konuları inceleyebilirsiniz:
- Test etme: Her şeyin beklendiği gibi çalıştığından emin olun
- Entegrasyonlar: Tek satır kodla pazarlama attribution ve analitik servisleriyle entegre olun
- Özel profil özellikleri ayarlama: Kullanıcı profillerine özel özellikler ekleyin ve segment’ler oluşturun; böylece A/B testi başlatabilir veya farklı kullanıcılara farklı paywall’lar gösterebilirsiniz