Profiller nasıl çalışır
Uygulamanızdaki her kullanıcı, satın alımlarını, olaylarını ve abonelik durumunu takip eden bir Adapty profiline sahip olur. Profillerin nasıl oluşturulduğunu ve birbirine bağlandığını anlamak; entegrasyon hatalarını önlemenize, veri parçalanmasını engellemenize ve Profiller bölümündeki verileri doğru yorumlamanıza yardımcı olur.
Profil oluşturma
Adapty, bir kullanıcı uygulamanızı ilk kez açtığında otomatik olarak bir profil oluşturur.
Customer User ID olmadan profil anonimdir. Her şu durumda yeni bir anonim profil oluşturulur:
- Kullanıcı uygulamayı yeniden yüklediğinde
- Kullanıcı uygulamanızdan çıkış yaptığında (uygulamanız
Adapty.logout()çağırdığında)
Satın alımlar, kalıcı bir kullanıcı kimliğine değil, uygulama kurulumuna bağlıdır.
Customer User ID ile profil, yeniden yüklemeler ve cihazlar arasında kalıcı olur. Customer user ID kullanmak şunları sağlar:
- Kullanıcıyı uygulama yeniden yüklemeleri ve birden fazla cihaz üzerinden takip edebilirsiniz.
- Kullanıcıları Profiles bölümünde customer user ID’lerine göre bulabilirsiniz.
- Customer user ID’yi sunucu tarafı API’sinde kullanabilirsiniz.
- Adapty, customer user ID’yi tüm entegrasyonlara gönderir.
Customer user ID ile profil davranışı, bunu ne zaman ayarladığınıza bağlıdır:
- SDK etkinleştirmesinde: Adapty, o customer user ID’ye sahip mevcut profili kullanır (geri dönen kullanıcılar için) veya yeni bir profil oluşturur (ilk kez gelen kullanıcılar için).
- SDK etkinleştirmesinden sonra: Adapty, etkinleştirmede anonim bir profil oluşturur. Kullanıcıyı daha sonra tanımladığınızda Adapty, customer user ID’yi anonim profile bağlar (ilk kez gelen kullanıcılar için) veya o ID’ye sahip mevcut profile geçer (geri dönen kullanıcılar için).
Hangi yaklaşımı kullanmalısınız:
- Uygulama başlangıcında customer user ID mevcutsa (örneğin, önceki bir oturumdan kaydedilmişse) — SDK’yı başlatırken
activate()fonksiyonuna iletin. - Kullanıcılar uygulama başladıktan sonra giriş yapıyorsa — kimlik doğrulamanın ardından
identify()fonksiyonunu çağırın. Adapty, ID’yi mevcut profile bağlar (ID yeniyse) veya mevcut profile geçer (ID zaten varsa). - Kullanıcılar giriş yapmadan önce satın alım yapabiliyorsa — girişin ardından
identify()fonksiyonunu çağırın. Customer user ID Adapty’de zaten mevcutsa, mevcut access level’ı senkronize etmek için ardından profili alın.
Uygulama ayrıntıları için kullanıcıları tanımlama SDK kılavuzuna bakın.
Geri dönen bir kullanıcı daha önce uygulamanızı customer user ID olmadan kullandıysa, SDK etkinleştirmesinde tanımlamaya başladığınızda bu anonim profiller otomatik olarak birleştirilmez. Bu tür kullanıcılar için eksiksiz geçmişi korumak amacıyla bunun yerine girişten sonra identify() kullanın.
Ebeveyn ve kalıtımcı profiller
Birden fazla profil aynı aboneliğe (aynı Apple/Google ID aracılığıyla) bağlandığında Adapty, bunları ebeveyn-kalıtımcı ilişkisi kullanarak takip eder. Bu durum, bir kullanıcı kimlik belirtmeden uygulamayı yeniden yüklediğinde veya farklı kimliği belirlenmiş kullanıcılar aynı cihazda satın alımları geri yüklediğinde ortaya çıkar.
Ebeveyn profil, satın alımı yapan profildir — mutlaka oluşturulan ilk profil değildir. Örneğin: uygulamayı yükleyip hiçbir şey satın almıyorsunuz, ardından yeniden yükleyip bir abonelik alıyorsunuz. İkinci profil, satın alımı yaptığı için ebeveyn olur. Birinci profil kalıtımcı olur ve paylaşım yoluyla erişim kazanır.
Olayların dağılımı:
- İşlemsel olaylar (satın alımlar, yenilemeler, iptaller, faturalama sorunları, ek süreler, iadeler): Yalnızca satın alımı yapan ebeveyn profilde görünür. Tüm abonelik yenilemeleri ve güncellemeleri bu profilde görünmeye devam eder.
- access_level_updated olayları: Access level durumu her değiştiğinde hem ebeveyn hem de kalıtımcı profillerde görünür. Bu sayede bağlı tüm profiller mevcut erişim durumları hakkında güncel kalır.
Ebeveyn profil, eksiksiz işlem geçmişini gösterir. Kalıtımcı profiller yalnızca kendi access level güncellemelerini ve Access level bölümünde ebeveyn profile bir bağlantıyı gösterir.
Kullanıcı hesapları arasında ücretli erişimi paylaşma
Access level paylaşım politikanızı ayarlamak için General ayarlar sayfasında bir paylaşım seçeneği belirleyin. Sandbox ortamı için ayrı bir politika ayarlayabilirsiniz.
Etkin (varsayılan)
Tanımlı kullanıcılar (bir Müşteri Kullanıcı Kimliği ile tanımlanmış olanlar), cihazları aynı Apple/Google ID ile oturum açmışsa Adapty tarafından sağlanan aynı access level’ı paylaşabilir. Bu, kullanıcının uygulamayı yeniden yükleyip farklı bir e-postayla giriş yapması durumunda bile önceki satın alımına erişimini koruması açısından kullanışlıdır. Bu seçenekle birden fazla tanımlı kullanıcı aynı access level’ı paylaşabilir.
Access level paylaşılsa da tutarlı analizleri korumak ve deneme süreleri, abonelik satın alımları, yenilemeler ve daha fazlası dahil olmak üzere eksiksiz bir işlem geçmişini aynı profile bağlı tutmak amacıyla tüm geçmiş ve gelecek işlemler, orijinal Müşteri Kullanıcı Kimliğinde etkinlik olarak kaydedilir.
Erişimi yeni kullanıcıya aktar
Tanımlı kullanıcılar, cihazları aynı Apple/Google ID ile oturum açtığı sürece farklı bir Müşteri Kullanıcı Kimliği ile giriş yapsalar veya uygulamayı yeniden yükleseler bile Adapty tarafından sağlanan access level’a erişmeye devam edebilir.
Önceki seçenekten farklı olarak Adapty, satın alımı tanımlı kullanıcılar arasında aktarır. Bu sayede satın alınan içeriğe erişim sağlanır; ancak aynı anda yalnızca bir kullanıcı erişime sahip olabilir. Örneğin, KullanıcıA bir abonelik satın alırsa ve KullanıcıB aynı cihazda oturum açarak işlemleri geri yüklerse, KullanıcıB aboneliğe erişim kazanır ve KullanıcıA’nın erişimi iptal edilir.
Kullanıcılardan biri (yeni ya da eski) tanımlı değilse, access level Adapty’deki bu profiller arasında yine de paylaşılır.
Access level aktarılsa da tutarlı analizleri korumak ve deneme süreleri, abonelik satın alımları, yenilemeler ve daha fazlası dahil olmak üzere eksiksiz bir işlem geçmişini aynı profile bağlı tutmak amacıyla tüm geçmiş ve gelecek işlemler, orijinal Müşteri Kullanıcı Kimliğinde etkinlik olarak kaydedilir.
Erişimi yeni kullanıcıya aktar seçeneğine geçtikten sonra access level’lar profiller arasında hemen aktarılmaz. Belirli bir access level için aktarım süreci, yalnızca Adapty mağazadan abonelik yenileme, geri yükleme veya işlem doğrulama gibi bir etkinlik aldığında tetiklenir.
Devre dışı
Bir access level’a ilk ulaşan tanımlı kullanıcı profili, bu erişimi sonsuza kadar korur. İş mantığınız satın alımların tek bir Müşteri Kullanıcı Kimliğine bağlı olmasını gerektiriyorsa bu en uygun seçenektir.
Anonim kullanıcılar arasında access level’ların paylaşılmaya devam ettiğini unutmayın.
Sahip kullanıcı profilini silerek bir satın alımı “bağlantısından koparabilirsiniz”. Silme işleminin ardından access level, ister anonim ister tanımlı olsun, onu talep eden ilk kullanıcı profiline açık hale gelir.
Paylaşımı devre dışı bırakmak yalnızca yeni kullanıcıları etkiler. Kullanıcılar arasında zaten paylaşılmış olan abonelikler, bu seçenek devre dışı bırakıldıktan sonra da paylaşılmaya devam eder.
Apple ve Google, uygulama içi satın alımların satın alımı Apple/Google ID ile ilişkilendirdiğinden kullanıcılar arasında paylaşılmasını veya aktarılmasını zorunlu kılar. Paylaşım olmadan, sonraki yeniden yüklemelerde satın alımları geri yüklemek çalışmayabilir.
Paylaşımı devre dışı bırakmak, kullanıcıların giriş yaptıktan sonra erişimlerini yeniden kazanamamasına yol açabilir.
Paylaşımı yalnızca kullanıcılarınızın satın alım yapmadan önce giriş yapmak zorunda olduğu durumlarda devre dışı bırakmanızı öneririz. Aksi takdirde tanımlı bir kullanıcı abonelik satın alıp başka bir hesaba giriş yapabilir ve erişimini kalıcı olarak kaybedebilir.
Hangi ayarı seçmeliyim?
| Uygulamam… | Seçilecek seçenek |
|---|---|
| Giriş sistemi yok ve yalnızca Adapty’nin anonim profil ID’lerini kullanıyor. | Varsayılan seçeneği kullanın; zira her üç seçenekte de access level’lar anonim profil ID’leri arasında her zaman paylaşılır. |
| İsteğe bağlı bir giriş sistemi var ve müşterilerin hesap oluşturmadan önce satın alım yapmasına izin veriyor. | Hesap oluşturmadan satın alım yapan müşterilerin işlemlerini daha sonra geri yükleyebilmesini sağlamak için Erişimi yeni kullanıcıya aktar seçeneğini tercih edin. |
| Satın alım yapmadan önce hesap oluşturmayı zorunlu kılıyor ancak satın alımların birden fazla Müşteri Kullanıcı Kimliğine bağlanmasına izin veriyor. | Aynı anda yalnızca bir Müşteri Kullanıcı Kimliğinin erişime sahip olmasını sağlarken kullanıcıların ücretli erişimlerini kaybetmeden farklı bir Müşteri Kullanıcı Kimliğiyle giriş yapabilmesine olanak tanımak için Erişimi yeni kullanıcıya aktar seçeneğini tercih edin. |
| Satın alım yapmadan önce hesap oluşturmayı zorunlu kılıyor ve satın alımları tek bir Müşteri Kullanıcı Kimliğine bağlayan katı kurallara sahip. | İşlemlerin hesaplar arasında hiçbir zaman aktarılmamasını sağlamak için Devre dışı seçeneğini tercih edin. |
Gelecek tarihli olay zaman damgaları (Apple/iOS)
Bu davranış Apple App Store’a özgüdür. Google Play’in bildirim sistemi olayları önceden göndermez.
Apple, yenileme olaylarını önceden gönderdiği için profillerdeki ve entegrasyonlardaki olay zaman damgaları gelecek tarihleri gösterebilir.
- Neden olur: Apple bunu, aboneliklerin sona ermeden önce otomatik olarak yenilenmesini sağlamak ve kullanıcı hizmet kesintilerini önlemek için yapar. Daha fazla ayrıntı için Apple’ın Geliştirici Forumuna bakın: Server Notifications for Subscriptions.
- Etkilenen olay türleri: Genellikle bu durum abonelik yenilemeleri ve deneme sürümünden ücretli dönüşümleri için geçerlidir. Bu olaylar, Apple sistemleri önceden bilgilendirdiği için gelecek zaman damgalarına sahip olabilir.
- Diğer olay türleri: Ek uygulama içi satın alımlar ve abonelik planı değişiklikleri, bu olaylar önceden tahmin edilemeyeceği için gerçek zaman damgalarıyla kaydedilir.
- Analitik ve Olay Akışı üzerindeki etkisi: Bu olaylar yalnızca zaman damgaları geçtikten sonra Analytics ve Event Feed’de görünür. Gelecek zaman damgalı olaylar her iki bölümde de gösterilmez.
- Entegrasyonlar üzerindeki etkisi: Adapty, olayları alır almaz entegrasyonlara gönderir. Bir olayın gelecek zaman damgası varsa Adapty, bunu entegrasyonunuza gelecek zaman damgası değiştirilmeden gönderir.
Sonraki adımlar
- Kullanıcıları bulmak ve yönetmek için Profiller kontrol panelini kullanmak istiyorsanız Profiller sayfasına bakın.
- Uygulamanızda kullanıcı tanımlamayı ayarlamak için kullanıcıları tanımlama SDK kılavuzuna bakın.
- Erişim paylaşım politikasını yapılandırmak için Kullanıcı hesapları arasında ücretli erişimi paylaşma sayfasına bakın.