Geliştirici yükü geçmişten beri sahtekarlık önleme ve satın alma işlemlerini doğru kullanıcıyla ilişkilendirme dahil olmak üzere çeşitli amaçlarla kullanılıyordu. Google Play Faturalandırma Kitaplığı'nın 2.2 ve üzeri sürümleriyle, önceden geliştirici yükünden yararlanan amaçlanan kullanım alanları artık kitaplığın diğer bölümlerinde tam olarak desteklenmektedir.
Bu destek sayesinde Google Play Faturalandırma Kitaplığı'nın 2.2 sürümünden itibaren geliştirici yükünü kullanımdan kaldırdık. Geliştirici yüküyle ilişkili yöntemler, sürüm 2.2'de kullanımdan kaldırılmış ve sürüm 3.0'da kaldırılmıştır. Uygulamanızın, kitaplığın önceki sürümleri veya AIDL kullanılarak yapılan satın alma işlemleri için geliştirici yükünü almaya devam edebileceğini unutmayın.
Değişikliklerin ayrıntılı listesi için Google Play Faturalandırma Kitaplığı 2.2 sürüm notlarına ve Google Play Faturalandırma Kitaplığı 3.0 sürüm notlarına bakın.
Satın alma doğrulaması
Google, satın alma işlemlerinin orijinal olduğundan ve sahte olmadığından veya tekrar oynatılmadığından emin olmak için satın alma jetonlarının orijinal olduğunu doğrulamak amacıyla Google Play Developer API'leriyle birlikte satın alma jetonunu (Purchase
nesnesindeki getPurchaseToken()
yönteminden elde edilir) kullanmanızı önerir.
Daha fazla bilgi için Sahtekarlık ve kötüye kullanımla mücadele başlıklı makaleyi inceleyin.
Satın alma ilişkilendirmesi
Başta oyunlar olmak üzere birçok uygulama, satın alma işleminin, satın alma işlemini başlatan oyun içi karakter/avatar veya uygulama içi kullanıcı profiliyle doğru şekilde ilişkilendirildiğinden emin olmalıdır. Google Play Faturalandırma Kitaplığı 2.2'den başlayarak, uygulamanız satın alma iletişim kutusunu başlatırken karartılmış hesap ve profil tanımlayıcılarını Google'a iletebilir ve satın alma sırasında bunların döndürülmesini sağlayabilir.
BillingFlowParams
içinde setObfuscatedAccountId()
ve setObfuscatedProfileId()
parametrelerini kullanıp Purchase
nesnesindeki getAccountIdentifiers()
yöntemini kullanarak bu parametreleri alın.
Meta verileri bir satın alma işlemiyle ilişkilendirme
Google, bir satın alma işlemiyle ilgili meta verileri, yönettiğiniz güvenli bir arka uç sunucusunda depolamanızı önerir. Bu satın alma meta verileri, Purchase
nesnesinde getPurchaseToken
yöntemi kullanılarak elde edilen satın alma jetonuyla ilişkilendirilmelidir. Bu veriler, başarılı bir satın alma işleminin ardından PurchasesUpdatedListener
çağrıldığında satın alma jetonunu ve meta verileri arka ucunuza ileterek korunabilir.
Satın alma akışı kesintileri durumunda meta verilerin ilişkilendirildiğinden emin olmak için Google, satın alma iletişim kutusunu başlatmadan önce meta verilerin arka uç sunucunuzda depolanmasını ve bunları kullanıcınızın hesap kimliği, satın alınan SKU ve geçerli zaman damgasıyla ilişkilendirmeyi önerir.
Satın alma akışı, PurchasesUpdatedListener
çağrılmadan kesilirse uygulamanız devam ettirilip BillingClient.queryPurchasesAsync()
numarasını aradıktan sonra satın alma işlemini keşfeder.
Ardından, meta verileri aramak, meta verileri satın alma jetonuyla ilişkilendirmek ve satın alma işlemini işlemeye devam etmek için Purchase
nesnesinin getPurchaseTime()
, getSku()
ve getPurchaseToken()
yöntemlerinden alınan değerleri arka uç sunucunuza gönderebilirsiniz. Başlangıçta depoladığınız zaman damgasının, Purchase
nesnesinin getPurchaseTime()
değeriyle tam olarak eşleşmeyeceğini unutmayın. Bu nedenle, bunları yaklaşık bir şekilde karşılaştırmanız gerekir. Örneğin, değerlerin birbirinden farklı bir zaman aralığı içinde olup olmadığını kontrol edebilirsiniz.