Capacitor SDK'da kullanıcıları tanımlama
Kullanıcıların satın almalarını nasıl yönettiğiniz, uygulamanızın kimlik doğrulama modeline bağlıdır:
- Uygulamanız backend kimlik doğrulaması kullanmıyor ve kullanıcı verilerini depolamıyorsa, anonim kullanıcılarla ilgili bölüme bakın.
- Uygulamanızda backend kimlik doğrulaması varsa (veya olacaksa), tanımlanmış kullanıcılarla ilgili bölüme 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’siz) veya tanımlı (customer user ID’li) olabilirler.
- Customer user ID’ler, kullanıcılarınızı Adapty profillerine bağlamak için sizin oluşturduğunuz isteğe bağlı tanımlayıcılardır.
Anonim ve tanımlı kullanıcılar arasındaki farklar şunlardır:
| Anonim kullanıcılar | Tanımlı kullanıcılar | |
|---|---|---|
| Satın alma yönetimi | Mağaza düzeyinde satın alma geri yükleme | Müşteri kullanıcı kimliği aracılığıyla cihazlar arası satın alma geçmişini koruma |
| Profil yönetimi | Her yeniden yüklemede yeni profil | Oturumlar ve cihazlar genelinde aynı profil |
| Veri kalıcılığı | Anonim kullanıcıların verileri cihaza/kuruluma bağlıdır | Tanımlı kullanıcıların verileri cihazlar ve oturumlar genelinde kalıcıdır |
Anonim kullanıcılar
Bir backend kimlik doğrulamanız yoksa, uygulama kodunda kimlik doğrulamayı yönetmenize gerek yoktur:
- SDK uygulamanın ilk açılışında etkinleştirildiğinde, Adapty kullanıcı için yeni bir profil oluşturur.
- Kullanıcı uygulama içinde herhangi bir şey satın aldığında, bu satın alma kullanıcının Adapty profili ve mağaza hesabıyla ilişkilendirilir.
- Kullanıcı uygulamayı yeniden yüklediğinde veya yeni bir cihaza kurduğunda, Adapty etkinleştirme sırasında yeni ve boş bir profil oluşturur.
- Kullanıcı daha önce uygulamanızdan satın alma yapmışsa, bu satın almalar varsayılan olarak SDK etkinleştirildiğinde App Store’dan otomatik olarak senkronize edilir.
Yedekten geri yükleme işlemleri, yeniden kurulumdan farklı davranır. Varsayılan olarak, bir kullanıcı yedekten geri yükleme yaptığında SDK önbelleğe alınmış verileri korur ve yeni bir profil oluşturmaz. Bu davranışı clearDataOnBackup ayarını kullanarak yapılandırabilirsiniz. Daha fazla bilgi.
Tanımlanan kullanıcılar
- Bir profilin henüz customer user ID’si yoksa (yani kullanıcı oturum açmamışsa), bir customer user ID gönderdiğinizde bu ID söz konusu profille ilişkilendirilir.
- Bu bir yeniden kurulum, oturum açma veya yeni bir cihazdan kurulumsa ve daha önce o kullanıcının customer user ID’sini gönderdiyseniz, yeni bir profil oluşturulmaz. Bunun yerine, customer user ID ile ilişkilendirilmiş mevcut profile geçiş yapılır.
Uygulamada kullanıcıları tanımlamak için iki seçeneğiniz var:
-
Giriş/kayıt sırasında: Kullanıcılar uygulama başladıktan sonra giriş yapıyorsa, kimlik doğrulama sırasında bir müşteri kullanıcı kimliğiyle
identify()işlevini çağırın. -
SDK etkinleştirme sırasında: Uygulama başlarken halihazırda bir müşteri kullanıcı kimliğiniz varsa,
activate()çağrısı yaparken bunu gönderin.
Varsayılan olarak, Adapty bir satın alma işlemini başka bir Customer User ID ile ilişkilendirilmiş bir Customer User ID’den 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 ya da paylaşımı tamamen devre dışı bırakacak şekilde yapılandırabilirsiniz. Daha fazla bilgi 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 kaydolduktan sonra), müşteri kullanıcı kimliğini ayarlamak için identify metodunu kullanın.
- Bu müşteri kullanıcı kimliğini daha önce kullanmadıysanız, Adapty bunu otomatik olarak mevcut profille ilişkilendirir.
- Bu müşteri kullanıcı kimliğini daha önce kullanıcıyı tanımlamak için kullandıysanız, Adapty bu müşteri kullanıcı kimliğiyle ilişkili profille çalışmaya geçer.
Bir müşteri kullanıcı kimliği oluştururken, bunu kullanıcı verilerinizle birlikte kaydedin. Böylece yeni bir cihazdan giriş yaptıklarında veya uygulamayı yeniden yüklediklerinde aynı kimliği gönderebilirsiniz.
Diğer SDK metodlarını çağırmadan önce her zaman identify metodunu await ile bekleyin. Eş zamanlı çağrılar #3006 profileWasChanged hatasına yol açar ya da anonim profile düşer. Daha fazla bilgi için bkz. Capacitor SDK’da çağrı sırası.
try {
await adapty.identify({ customerUserId: "YOUR_USER_ID" });
// successfully identified
} catch (error) {
// handle the error
}
SDK etkinleştirme sırasında
SDK’yı etkinleştirdiğinizde müşteri kullanıcı kimliğini zaten biliyorsanız, identify metodunu ayrıca çağırmak yerine doğrudan activate metodunda gönderebilirsiniz.
Müşteri kullanıcı kimliğini bilmenize rağmen bunu etkinleştirmeden sonra ayarlıyorsanız, etkinleştirme anında Adapty yeni bir boş profil oluşturur ve identify metodunu çağırdıktan sonra mevcut profile geçer.
Mevcut bir müşteri kullanıcı kimliği (daha önce kullandığınız) ya da yeni bir tane girebilirsiniz. Yeni bir tane girerseniz, aktivasyon sırasında oluşturulan yeni profil otomatik olarak müşteri kullanıcı kimliğine bağlanır.
Oluşturulan boş profilleri kontrol paneli analizlerinden dışlamak için App settings bölümüne gidin ve Installs definition for analytics ayarını yapılandırın.
await adapty.activate({
apiKey: "YOUR_PUBLIC_SDK_KEY",
params: {
customerUserId: "YOUR_USER_ID"
}
});
Kullanıcı oturumunu kapatma
Kullanıcıların oturumunu kapatmak için bir butonunuz varsa, logout metodunu kullanın. Bu işlem kullanıcı için yeni bir anonim profil kimliği oluşturur.
try {
await adapty.logout();
// successful logout
} catch (error) {
// handle the error
}
Kullanıcıları uygulamaya tekrar giriş yaptırmak için identify metodunu kullanın.
Giriş yapmadan satın alma izni
Kullanıcılarınız uygulamanıza giriş yapmadan önce de sonra da satın alma yapabiliyorsa, ek bir kurulum yapmanıza gerek yok: İşte nasıl çalıştığı:
- Oturumu kapalı bir kullanıcı satın alma yaptığında, Adapty bunu anonim profil ID’sine bağlar.
- Kullanıcı hesabına giriş yaptığında, Adapty tanımlanmış profiliyle çalışmaya geçer.
- Mevcut bir customer user ID ise (customer user ID zaten bir profile bağlıysa), Adapty işlemleri otomatik olarak senkronize eder.
- Yeni bir customer user ID ise (örneğin, satın alma kayıt olmadan önce yapılmışsa), Adapty customer user ID’yi mevcut profile atar; böylece tüm satın alma geçmişi korunur.